JavaScript笔记(基础)

一、入门
1、使用<script>标签可以把js源代码直接放入网页文档中
注意:引擎是从上往下解析网页源代码,js脚本要放到应用元素声明之后
2、使用js文件
使用<script>标签,通过src属性指定.js文件的URL即可
3、语法基础
1)语言编码(Unicode),可以使用双字节字符
2)大小写敏感(声明类型习惯大写,声明变量习惯小写
3)代码注释:///*---------------*/
4)标签:js脚本可以加上标签,一般由一个合法的字符名称加上一个冒号组成
5)关键字和保留字(略)
4、JavaScript语法特性
1)词(包含常量、变量、运算符、表达式、指令、修饰符等。
2)句子(句子以;作为结束标志,有时候省略,也可以用换行符,建议添上;)
3)段落(由”{}”包含的一段代码
可以嵌套,前面可以加修饰词,如域谓词(作用域)、逻辑谓词(逻辑关系)、函数谓词(函数名、函数参数等)

二、常量和变量
JS暂不支持constant关键字,不允许用户自定义常量。
JS使用var关键字声明变量,也可以不使用(声明全局变量)

三、表达式与运动符
1、逗号运算符(依次计算两个操作数并返回第2个操作数的值)
2、void运算符
`javascript:void(expression)
javascript:void expression

四、语句
1、条件语句
1)if语句(同C++)
2)switch语句(同C++)
2、循环语句
1)while语句(同C++)
2)for语句(同C++)
特殊形式:
for(variable in object) {
statements
}
3、跳转语句
break、continue、return语句(同C++)
4、异常处理语句
try
{
CreateException();
}
catch(ex) //捕获异常
{
alert(ex.number+"\n"+ex.description);
}
finally //最后必须执行的语句
{
alert("end");
}

5、var语句和function语句
var可以声明一个变量,如果不初始化默认为undefined。function语句用来定义函数
6、with语句和空语句
with语句能够为一组语句创建缺省的对象。
with(object){
statements
}

例如
with(document.getElementById("box").style){ //改变变量的作用域链
borderColor="red";
borderWidth="1px";
borderStyle="solid";
width="400px";
height="200px";

四、数据类型
JavaScript包含3种基本数据类型:数值、字符串和布尔值
1、数值
JS不允许用户自定义常量,但提供了几个特殊的数学常量
2、字符串
Unicode编码,必须使用双引号或单引号框起来。使用parseInt()和parseFloat()
3、布尔值(true和false)
4、null和undefined
5、引用型数据(包括:数组、对象和函数等)

五、函数
1、定义函数
使用function来定义函数有两种方式
function f(){
//函数体
}
var f=function(){
//函数体
}

使用Function对象构造函数的语法如下:
var function_name=new Function(arg1,arg2,…,function_body)
每个arg参数必须为字符串,最后一个是函数主体。
2、调用函数
JS调用函数使用小括号运算符实现f()
3、函数参数
JS定义了Arguments对象,arguments.length,arguments[n]
4、函数应用
1)匿名函数
var z=function(x,y){
return (x+y)/2;
}(23,35)

2)函数可以作为值,赋给其他变量
3)函数可以作为参数
4)函数可以作为表达式
5、闭包函数
闭包函数就是外部函数被调用后,它的变量不会消失,仍然被内部函数所使用,而且所有的内部函数都拥有对外部函数的访问权限

六、对象
1、创建对象
在JS中,对象由new运算符生成,生成对象的函数称为类(或称构造函数、对象类型)
var o=new Object();
也可以通过大括号定义对象直接量(键值对,用”,“隔开)。
{
name:value,
name1:value1
}

2、访问对象(“.”操作符或集合运算符“[]”)对象可以嵌套
var point={
x : {
a : 1,
b : 2
},
y : -1.2
};
var a=point["x"]["a"]

七、数组
1、定义数组(通过Array()构造函数和new运算符来实现)
var a = new Array(); //定义空数组
var a = new Array(1,2,3,"4","5");//定义带参数的数组
var a = new Array(6); //定义指定长度的数组
var a = Array(6); //定义数组时,new可以省略
var a = [1,2,3,"4","5"] //定义数组直接量

2、存取元素(通过“[]”符号)
数组的大小不是固定的,可以动态增加或删除数组元素
1)通过改变数组的length属性来实现
2)使用push()和pop()方法来操作数组
var a=[];
a.push(1,2,3);
a.push(4,5);
a.pop();

3)使用unshift()和shift()方法
var a = [];
a.unshift(1,2,3);
a.unshift(4,5);
a.shift();

4)使用splice()方法
包含三个参数,第一个参数是指定插入操作的位置,第二个参数指定要删除的元素个数,从第三个参数开始表示插入的具体元素

3、数组应用
1)数组与字符串互转
使用Array对象的join()方法可以将数组转换为多种形式的字符串,参数为连接的字符
使用split()方法可以把字符串劈开为一个数组,有两个参数,第一个指定劈开的分隔符,第二个参数指定返回数组的长度
2)数组排顺
使用reverse()方法可以颠倒数组元素的顺序
使用sort()方法可以对数组元素进行排序,按默认的规则
3)连接数组
使用concat()方法
var a = [1,2,3,4,5];
var b = a.concat(4,5);//得到[1,2,3,4,5,4,5]

4)截取子数组
slice方法将返回字符串中指定的片段。包含两个参数,他们要指定子数组在原数组中的起止点

ps:
1、检测数据类型(typeof运算符和constructor属性)
JavaScript执行数值运算时,常会出现浮点数溢出问题
num=0.1+0.2; //0.300000000000000004
整数运算是精确的,可以这样处理
a=(1+2)/10;
2、字符串替换
replace()方法可以实现字符串替换,第一个参数表示执行匹配的正则表达式,也可以传递字符串,第二个参数表示准备代替匹配的子字符串

猜你喜欢

转载自blog.csdn.net/the_light_/article/details/79315961