javascript深入浅出——语句

三、语句

JavaScript程序由语句组成,语句遵守特定的语法规则。  例如:if、while、with语句

1、块blcok

块语句常用语组合 0~多个语句。用一对花括号定义。

例:

{ 
  var str = 'hi';
  console.log(str);
}

实际上与if或for其他语句连用。 注意:没有块级作用域。

//对象字面值是封闭在花括号对({})中的一个对象的零个或多个”属性名:值”列表。

2、声明语句var

var a = b =1;

  此时a,b都为1。但b此时为全局变量。

所以一条语句定义多个变量的方式,即用“,”去分隔。例 :

var a=1 ,b=1;

3、try-catch语句

提供一个异常捕获的机制。执行的流程是首先执行try块中的代码,如果抛出了异常,会由catch从句去捕获并执行,如果没有异常,catch中的语句会被忽略掉,但是不管有没有异常,最后都会执行finally从句。try后面必须接着一个catch或finally。

注意嵌套语句的执行顺序。

例:

try{
	throw 'test';
}catch(ex){
	console.log(ex);//test
}finally{
	console.log('finally');
}

4、function语句

用来定义函数对象。用function定义的函数对象一般叫函数声明。与之对应的另一种叫做函数表达式。

funcation fd(){         //函数声明
    //do sth.   
    return true;
}

var fe = function(){    //函数表达式
    //do sth.
}

主要区别:  函数声明会被预先处理,或者叫函数前置。所以在函数声明代码的前面可以成功调用这个函数,但函数表达式不可以。

5、for....in 语句

var p;
var obj = { x:1,y:2 }

for( p in obj ){}

用 for in去遍历obj对象中的属性

注意:1、for in 的顺序是不确定的(依赖引擎的实现)                                                                                                                               2、enumerable为false时不会出现                                                                                                                                                     3、for in对象属性是受原型链影响 (若obj的原型链上的原型有其他的属性,且enumerable为true,也会在for in中出现)

6、switch 语句(条件分支语句)

switch(val){
    case 1: console.log(1);
     break;
    case 2: console.log(2);
     beark;
    default:console.log(0);
     break;
}

注意:若没有break,则执行完一个case语句后继续往下执行。

7、while、do while、for 循环语句 

do while语句结构和while语句差不多,但是他保证循环体至少被执行一次。先执行代码,后判断条件。

8、with语句

可以修改当前的作用域

使用with:
    让js引擎优化更难。
    可读性差。
    可被变量定义代替。
    严格模式下被禁用。

严格模式

严格模式是一种特殊的执行模式,他修复了部分语言上的不足,提供更强的错误检查,增强安全性。

让函数func内部的代码在严格模式下执行

function func(){
    'use strict';
}

可以向上兼容
比如在比较老的ie中执行,那么他只会被当做普通的字符串,并被忽略掉。

'use strict';
function func(){
}

在整个js文件的最开头使用'use strict',整个js代码都在严格模式下执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值