您的位置:首页 > Web前端 > JavaScript

JS高级程序设计3-基本概念

2015-07-13 14:53 543 查看
严格模式

严格模式是为JS定义了一种不通的解析与执行模型,要在整个脚本中启用严格模式,可以在定不添加如下代码:

“use strict”

也可以指定特定的函数在严格模式下执行:

function dosomething(){
"use strict";
//函数体
}


关键词与保留字(P21)

使用var操作符定义变量(P22)

使用var操作符定义的变量将成为定义该变量的作用域的局部变量;省略了var,被定义的变量将变成全局变量(不推荐这样定义全局变量)

typeof是操作符,不是函数,所欲使用时后面的括号不是必须的(P24)

对未初始化和未声明的变量执行typeof操作符都返回undefind值(P25)

养成显式的初始化变量的习惯后,当使用typeof操作符返回“undefined”时,就知道相应的变量是没有声明,而不是尚未初始化了

转型函数Boolean()可以将所有的类型的值转换为布尔值(P26)

数值范围(29)

数值有一定的范围太大或者太小,数值的类型将转换为Infinity值,而不能参与计算;想确定一个数值是不是有穷的可以使用isFinite()函数

数值转换(P30)

把非数值转换为数值的函数有Number()、parseInt()和parseFloat();Number()函数在转换字符串时比较复杂而且不够合理,因此在处理整数的时候通常使用parseInt()函数。

字符字面量(转义序列)(P33)

toString()可以其他数值转换为字符串(P34)

object类型每个实例都具有的属性和方法(P35)

一元加操作符可以便捷的将不同数据类型转换为数值(P38)

两个逻辑非操作符可以便捷的将一个值转换为与之对应的布尔值,与Boolean()转型函数的作用一样(P44)

label语句

label语句用于给代码添加标签,下面是label的具体用法

var num = 0;
for (var i = 0 ; i < 10 ; i++){
for (var j = 0 ; j < 10 ; j++){
if( i == 5 && j == 5 ){
break;
}
num++;
}
}
alert(num); // 循环在 i 为5,j 为5的时候跳出 j循环,但会继续执行 i 循环,输出 95
对比使用了 Label 之后的程序:(添加 Label 后)
var num = 0;
outPoint:
for (var i = 0 ; i < 10 ; i++){
for (var j = 0 ; j < 10 ; j++){
if( i == 5 && j == 5 ){
break outPoint;
}
num++;
}
}
alert(num); // 循环在 i 为5,j 为5的时候跳出双循环,返回到outPoint层继续执行,输出 55


大量使用with语句会导致性能下降,同时给代码的调试也带来了困难,所有不建议在大型程序中使用with语句(P60)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: