JavaScript 基础
ECMA-262 JavaScript
可插入HTML页面的编程语言,插入后可由所有的现代浏览器执行
JavaScript是脚本语言,浏览器在读取代码时,逐条执行。传统的编程会在执行前先进行编译。
微软支持通过JavaScript创建Windows8 app
【实现功能】
1、写入HTML输出
document.wrirte("<h1>xxx</h1>")
PS:只能在HTML输出中使用,如果在文档加载后使用,则会覆盖整个文档
2、对事件做出反应
3、改变HTML内容
4、改变HTML图像
5、改变HTML样式
6、验证输入
【使用方式】
1、在HTML中使用必须使用标签<script>
放在body中,会在页面加载时执行
放在head中,通常用于处理加载信息和放置函数等
PS:老旧的浏览器需要在<script>中添加属性type="text/javascript"
2、外部调用
放在外部,<script src="xx.js"></script>,但是外部文件不能包含<script>标签
【JavaScript输出】
1、document.getElementById(xx) 访问某元素
2、innerHTML 方法 改变元素内容
3、document.write("<p>xx</p>") 将<p>写到HTML文档输出中,不能在文档加载后使用!
【JavaScript语句】
1、分号用于分割语句
2、会忽略多余的空格,且对大小写敏感
3、代码的顺序就是执行的顺序,浏览器按顺序来执行语句
4、用代码块来组合语句,{xxxx},eg:函数 function xx(xx){xx}
5、在文本串中使用反斜杠对代码进行换行(W3C上的原句,但我在本机的Firefox、Chrome和IE上都没有看到现象)
【JavaScript注释】
1、JS不会执行注释
2、单行 //
3、多行 /* */
4、可用于调试代码
【变量】
1、以字母、&和_开头皆可,大小写敏感
2、var x = 3 //数字
var x = '3' //字符串
var x = 3 , y = 4 , z = 5 //可一次性多个同时声明
3、在var创建一个变量时,也对其进行声明
4、变量重新声明后,值不会丢失
5、声明无值变量后,输出值为undefined
【数据类型】
1、种类:字符串、数字、布尔、数组、对象、Null、Undefined
字符串:是存储字符的变量,可以是引号(单或双)中的任意文本,注意引号的匹配
数字:只有一种类型,可带小数点,可以用科学计数法表示
布尔:true or false
数组:var cars = new Array(1,2,3);var cars = [1,2,3] ;下标从0开始
对象:{name:value,name:value} 寻址方式两种,xx = xx.xx 或者 xx = xx["xx"]
Null:表示变量值为空
Undefined:表示变量不含有值
2、动态类型:
var x //Undefined
var x = 6 //数字
var x = "Jz" //字符串
3、在声明变量时可以使用new来声明其类型,var x = new Number/String/Boolean/Array/Object
4、所有变量均为对象,声明一个变量时,就创建了一个新的对象
【JavaScript对象】
1、所有事物都是对象,拥有属性和方法
2、属性是对象的值,方法是能够在对象上执行的动作
【JavaScript函数】
1、用camel-case标记法来命名函数
2、函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块
关键词:事件驱动、调用、可重复使用
3、格式:function xx(xx){xx}
4、调用函数时可以向其传递参数值
5、通过return可以将函数值返回调用它的地方,使用retrun时,函数会停止执行并返回值。返回值可以是空,仅仅用作退出函数。
6、变量的作用域,在函数内声明的变量是局部变量,在函数外部声明的变量是全局变量,网页上所有脚本和函数都能访问。
7、变量的生命周期,在声明变量后,生命期就开始,局部变量会在函数运行结束后被删除。全局变量会在页面关闭后被删除。
8、如果把值赋给尚未声明的变量,该变量会被自动当做全局变量声明,即使该语句是在函数内。
【JavaScript运算/比较/逻辑符号】
1、运算符
+ - * / % ++ --
= += -= *= /= %=
+可以用于把文本值或字符串连接起来
数字和字符串相加,结果是字符串
2、比较符
==
=== 全等,包括值和类型
!= > < >= <=
3、逻辑符号
&& || ! 与或非
4、条件运算符
xx = (xx)?xx1:xx2
【If-else】
【Switch】
switch (x)
{
case 1:break;
case 2:break;
default:
}
【For】
for(var i=0;i<10;i++)3个条件都是可选的
for in 用于循环遍历对象的属性
while
do(xx) while
【Break】
break 用于跳出循环
continue 用于跳过循环中的一个迭代
labell: xx1 ; break label1 ; continue label1
【错误机制】
try 语句测试代码块的错误
catch 处理错误
throw 创建自定义错误
try 和 catch 是成对出现的
err.message
【表单验证】
可用来在数据被送往服务器前对HTML表单中的这些输入数据进行验证
典型的表单数据有:
必填项目是否填写
邮件地址是否合法
日期是否合法
是否在数据域中输入了文本