Javascript基本概念(语句和函数)
语句
for语句
- for语句中的初始化表达式,控制表达式和循环后表达式都是可选的,将这三个表达式省略,就会创建一个无线循环。
- ECMAScript中不存在块级作用域,因此在循环内容部定义的变量也可以在外部访问到。
for-in语句
主要用来枚举对象的属性(数组也是对象的一种)
var obj = { a:‘this is a‘, b:‘this is b‘, c:‘this is c‘ }; var arr = [ ‘arr1‘, ‘arr2‘, ‘arr3‘ ]; for(var o in obj){ console.log(o + ‘:‘ + obj[o]); } /*结果 a:this is a b:this is b c:this is c */ for(var k in arr){ console.log(k + ‘:‘ + arr[k]); } /*结果 0:arr1 1:arr2 2:arr3 */
laber,break和continue语句
label语句可以在代码中添加标签,以便将来使用,通常都要与for语句等循环语句配合使用,配合break和continue可以实现不止一次的退出循环操作(普通的break和continue只能退出一次循环)
以下是代码的例子
var num = 0; outermost: for(var i=0; i<10; i++){ for(var j=0; j<10; j++){ if (i == 5 && j == 5){ break outermost; } num++; } } alert(num); //55 //------------------------------------------------------------- var num = 0; outermost: for(var i=0; i<10; i++){ for(var j=0; j<10; j++){ if (i == 5 && j == 5){ continue outermost; } num++; } } alert(num); //95 //------------------------------------------------------------- var num = 0; outermost: for(var i=0; i<10; i++){ for(var j=0; j<10; j++){ if (i == 5 && j == 5){ break; } num++; } } alert(num); //95 //------------------------------------------------------------- var num = 0; outermost: for(var i=0; i<10; i++){ for(var j=0; j<10; j++){ if (i == 5 && j == 5){ continue; } num++; } } alert(num); //99
switch语句
Javascript中的switch语句很灵活,你可以用它来处理多分支的情况。(注意每个case语句块后都要加上break,除非有意为之,否则执行完一个case语句块后会继续往下执行,知道遇到break)
代码如下:
var num = 25; switch (true) { case num < 0: alert(‘Less than 0.‘); break; case num >= 0 && num <= 10: alert(‘Between 0 and 10.‘); break; case num > 10 && num <= 20: alert(‘Between 10 and 20.‘); break; default: alert(‘More than 20.‘); } //结果是输出 More than 20.
函数
提示
语句 return; 返回值是undefined;
理解参数
- js函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,所有传递进来的参数都可以通过arguments对象来访问,该对象类似数组但不是Array的实例,如第一个参数可以通过arguments[0]访问到,以此类推。
- arguments对象的length属性可以获知有多少个参数传递给了函数。也正是因为有这个属性,我们可以很方便的模拟js不具备有的函数重载。如:
function doAdd() { if(arguments.length == 1) { alert(arguments[0] + 10); } else if (arguments.length == 2) { alert(arguments[0] + arguments[1]); } } doAdd(10); //20 doAdd(30, 20); //50
- arguments对象可以与命名参数一起使用,且他们的值保持同步
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。