JS基本概念
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS基本概念相关的知识,希望对你有一定的参考价值。
【6】语句
(1)if语句
if ( i > 25) { alert("greater than 25"); }else if (i < 0) { alert("less than 0"); }else{ alert("between 0 and 25"); }
(2)do-while语句:后测试循环
var i = 2; do{ i+=2; }while(i<10); alert(i);
(3)while语句:前测试循环
var i = 0; while(i<10){ i+=2; }
(4)for语句:前测试循环
for(var i = 0;i<count;i++){ alert(i); } alert(i); //10
- 使用while循环做不到的,使用for循环液同样做不到;
- ECMAScript中不存在块级作用域,因此在循环内部定义的变量也可以在外部访问到;
- for循环中的初始化表达式、控制表达式和循环后表达式都是可选的。将这三个表达式全部省略,就会创建一个无限循环。
- 只给出控制表达式就把for循环转换成了while循环。
(5)for-in语句
for-in语句是一种精准的迭代语句,可以用来枚举对象的属性。
for(var propName in window){ document.write(propName); }
- ECMAScript对象的属性没有顺序;
- 如果表示要迭代的对象的变量值为null或undefined,for-in语句会抛出错误。
(6)label语句:在代码中添加标签,以便将来使用
label:statement start:for(var i=0;i<count;i++){ alert(i); };//定义的start标签可以在将来有由break或continue语句引用;加标签语句一般要与循环语句配合使用。
(7)break和continue语句
- break语句会立即退出循环,强制继续执行循环后面的语句;
- continue语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行
(8)with语句:将代码的作用域设置到一个特定的对象中
var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href; with(location){ var qs = search.substring(1); var hostName = hostname; var url = href; }
严格模式下不允许使用with语句,否则将视为语法错误。
(9)switch语句
switch(expression){ case value:statement break; case value:statement break; case value:statement break; case value:statement break; default:statement }
switch语句在比较值时使用的是全等操作符(===),因此不会发生类型转换。
【7】函数
function functionName(arg0,arg1,arg2,...,argN){ statements }
- 无需指定函数的返回值,因为任何ECMAScript函数都可以在任何时候通过return语句后跟要返回的值来实现返回任何值。
- 位于return语句之后的任何代码都永远不会执行。
- return语句也可以不带任何返回值,在这种情况下,函数在停止执行后将返回undefined。
- 严格模式下:不能把函数、参数命名为eval或arguements;不能出现两个命名参数同名的情况。
- ECMAScript中的参数在内部是用一个数组来表示的,在函数体内部可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
- 没有传递值的命名参数会被自动赋予undefined值。
- ECMAScript函数不能实现重载。在其他语言中,可以为一个函数编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不同即可。ECMAScript函数没有签名,因为其参数是由包含零或多个值的数组来表示的,没有函数签名,真正的重载是不可能做到的。
- 在ECMAScript函数中定义了两个名字相同的函数,则该名字只属于后定义的函数。
以上是关于JS基本概念的主要内容,如果未能解决你的问题,请参考以下文章