您的位置:首页 > 其它

Jacascript表达式、运算符、语句、严格模式

2015-05-25 13:58 344 查看

表达式

{//key-value
x:1;
y:2;
}

[1, , , 2]中间是三个undefined

var o = new Object();
{
o.x=1;
o.y=2;
}
o.x == o['x'] (属性名自动转化成字符串)

特殊运算符

C?a:b
var val = (1,2,3) 从左到右计算表达式,最后取最右边的值
delete obj.x;删除属性(不通过原型链向上查找,configurable==true可以删除)
in 'x' in window通过原型链向上查找,return true/false
void()返回undefined



语句

block(用大括号围起来的代码块)

{a:1,b:2} SyntaxError 因为大括号开头被默认为块
var o = {a:1,b:2} //correct

没有块级作用域、有函数及作用域!
一句话,块里声明的变量是全局的(if/else/for/while/try-catch中的变量),function内声明的变量函数外不可访问
特殊:function o(){
var a = b = 1;//a是函数内局部变量,b是全局变量,先运算b=1,然后运算a=b
}

try-catch-finally

异常必须用catch处理,且只处理一次,在内层没有catch时,先执行内层的finally再跳到外层执行catch

function预处理

functon函数的声明会被预先处理以便在全文任意处都可以调用

for-in遍历

with

相当于new一个变量

严格模式

function fun(){
'use strict'
...
}
或者在整个js文件里声明用严格模式



视频教学资源http://www.imooc.com/video/6002
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: