简述
本系列将持续更新Javascript基础部分的知识,谁都想掌握高端大气的技术,但是我觉得没有一个扎实的基础,我认为一切高阶技术对我来讲都是过眼云烟,要成为一名及格的前端工程师,必须把基础打扎实了。我也想展翅高飞,但前提我必须练就一双会飞的翅膀。
Javascript基础部分
简述Javascript
javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以Javascript的摆放很讲技巧。
一般建议放在最后,在页面渲染结束后再执行js脚本加载,因为js加载常常会遇到阻塞的问题,不能因为js的阻塞而影响页面渲染效果。
当然不同情况有不同的处理,比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。
变量(var)
定义变量使用关键字var:
<script type="text/javascript" charset="utf-8">
var 变量名;
</script>
变量名可以任意取名,但要遵循命名规则:
1.变量必须使用字母、下划线(_)或者美元符($)开始。
2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成。
3.不能使用JavaScript关键词与JavaScript保留字。变量要先声明再赋值,如下:
<script type="text/javascript" charset="utf-8">
var mychar;
mychar="javascript";
var mynum = 6;
</script>
变量可以重复赋值,如下:
<script type="text/javascript" charset="utf-8">
var mychar;
mychar="javascript";
mychar="hello";
</script>
注意 :
1) 在JS中区分大小写,如变量mychar与myChar是不一样的,表示是两个变量。
2)变量虽然也可以不声明,直接使用,但不规范,需要先声明,后使用。
函数(function)
如何定义一个函数呢?基本语法如下:
<script type="text/javascript" charset="utf-8">
function 函数名(){
函数代码;
}
</script>
说明 :
function定义函数的关键字。
"函数名"你为函数取的名字。
"函数代码"替换为完成特定功能的代码。
比如:
<script type="text/javascript" charset="utf-8">
function add2(){
var sum = 3 + 2;
alert(sum);
}
</script>
说明 :这是一个简单函数,函数名为add2的函数,功能是实现两数相加显示结果。
【函数调用】函数定义好后,是不能自动执行的,所以需调用它,只需直接在需要的位置写函数就ok了:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数调用</title>
<script type="text/javascript">
function contxt() //定义函数
{
alert("哈哈,调用函数了!");
}
</script>
</head>
<body>
<form>
<input type="button" value="点击我" onclick="contxt()" />
</form>
</body>
</html>
说明:这里写了一个简单的案例,js写了一个简单的文本输出函数,页面按钮点击触发js函数调用,实现js函数的文本输出功能。
输出内容(document.write)
document.write()可用于直接向HTML输出流写内容,简单的说就是直接在网页中输出内容。下面介绍几种向网页输出内容的方法:
第一种: 输出内容用 " " 括起,直接输出 " " 号内的内容。
<script type="text/javascript">
//内容用""括起来,""里的内容直接输出。
document.write("I love JavaScript!");
</script>
第二种: 通过变量,输出变量的内容
<script type="text/javascript">
var mystr="hello world!";
//直接写变量名,输出变量存储的内容。
document.write(mystr);
</script>
第三种: 输出多项内容,内容之间用 +号 连接。
<scripttype="text/javascript">
var mystr="hello";
//多项内容之间用+号连接
document.write(mystr+"I love JavaScript");
</script>
第四种:输出HTML标签,并起作用,标签使用 " " 括起来。
<script type="text/javascript">
var mystr="hello";
//输出hello后,输出一个换行符
document.write(mystr+"<br>");
document.write("JavaScript");
</script>
注意点:关于JS输出空格
在写JS代码的时候,大家可以会发现这样现象:
document.write(" 1 2 3 ");
结果: 1 2 3无论在输出的内容中什么位置有多少个空格,显示的结果好像只有一个空格。
这是因为浏览器显示机制,对手动敲入的空格,将连续多个空格显示成1个空格。
如果你真的需要显示你所希望看到的哪些空格,可以这么做:
1.使用输出html标签 来解决:
<script type="text/javascript">
document.write(" "+"1"+" "+"23");
</script>
结果: 1 23
2.使用CSS样式来解决:
<script type="text/javascript">
document.write("<span style='white-space:pre;'>"+" 1 2 3 "+"</span>");
</script>
结果: 1 2 3
在输出时添加“white-space:pre;”样式属性。这个样式表示"空白会被浏览器保留"。
警告消息对话框(alert)
我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字。如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的。语法:
<script type="text/javascript">
alert(字符串或变量);
</script>
注意:
在点击对话框"确定"按钮前,不能进行任何其它操作。
消息对话框通常可以用于调试程序。
alert输出内容,可以是字符串或变量,与document.write 相似。
确认消息对话框(confirm)
confirm 消息对话框通常用于允许用户做选择的动作,如:“你确定吗?”等。弹出对话框(包括一个确定按钮和一个取消按钮)。语法:
<script type="text/javascript">
confirm(str);
</script>
参数说明:
str
:在消息对话框中要显示的文本返回值: Boolean
值。
例子: 通过返回值(true或false)可以判断用户点击了什么按钮。
<script type="text/javascript">
var mymessage=confirm("你喜欢JavaScript吗?");
if(mymessage==true){
document.write("喜欢,很喜欢JS");
}else{
document.write("不喜欢,我不懂JS");
}
</script>
例子:你可以在页面的某个按钮设置确认,从而触发对应的业务逻辑:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>confirm</title>
<script type="text/javascript">
function rec(){
var mymessage = confirm();
if(mymessage == true){
document.write("你是女士!");
}else{
document.write("你是男士!");
}
}
</script>
</head>
<body>
<input name="button" type="button" onClick="rec()" value="点击我,弹出确认对话框" />
</body>
</html>
提问消息对话框(prompt)
首先这个小家伙很少见,一般人很少会用到它,但是还是有必要介绍它的。prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。语法:
<script type="text/javascript">
prompt(str1, str2);
</script>
参数说明:
str1:要显示在消息对话框中的文本,不可修改。
str2:文本框中的内容,可以修改。
返回值:
点击确定按钮,文本框中的内容将作为函数返回值。
点击取消按钮,将返回null。
这里有一个例子,具体功能就是实现提示用户输入自己的姓名,确认后把输入的值返回给js,js进行判断做出相应反馈:
<script type="text/javascript">
var myname = prompt("请输入你的姓名:");
if(myname != null){
alert("你好" + myname);
}else{
alert("你好! my friend.");
}
</script>
打开新窗口(window.open)
window.open()方法用于打开一个新的窗口。语法:
<script type="text/javascript">
window.open(<URL>, <窗口名称>, <参数字符串>)
</script>
参数说明:
URL:打开窗口的网址或路径。
窗口名称:被打开窗口的名称。可以是_top
、_blank
、_selft
等。
参数字符串:设置窗口参数,各参数用逗号隔开。
例如:打开 http://edu.jobui.com 网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
<script type="text/javascript">
window.open(
'http://edu.jobui.com',// 打开窗口要去的网址
'_blank',// 打开窗口形式
'width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes'// 设置窗口参数
)
</script>
注意:
1.参数之间逗号及等号前后有空格,该字符串无效,只有删除空格才能正常运行。
2.运行结果考虑浏览器兼容问题。
关闭窗口(window.close)
window.close()关闭窗口,语法:
<script type="text/javascript">
window.close(); //关闭本窗口
</script>
或者
<script type="text/javascript">
<窗口对象>.close(); //关闭指定的窗口
</script>
例如:关闭新建的窗口。
<script type="text/javascript">
//将新打的窗口对象,存储在变量mywin中
var mywin=window.open('http://edu.jobui.com');
mywin.close();
</script>
bug:上面代码在打开新窗口的同时,关闭该窗口,所以你是看不到被打开的窗口的了,别撞牛角尖。