<javascript搞基程序设计>笔记2015-9-25
1.一元加减
var a=28; alert(--a); //27,先减后用 alert(a--); //27,先用后减 alert(a); //26,
2.位操作符
按位非(NOT):按位取反;符号:~;
按位与(AND):符号:&;
按位或(OR):符号:|;
按位异或(XOR):符号:^;相同的为取值为0,不同的位取值为1;
左移:符号:<<;将所有的位向左移动,
var oldValue=2; var newValue=oldValue<<5; //左移后,原来的位置用0补齐,
有符号右移:符号:>>;这个操作会将数值向右移,但保留左侧的符号位,
无符号右移:符号:>>>;这个操作符会将数值的32位全部向右移动,
3.布尔操作符:
逻辑非:操作符:!
逻辑与:操作符:&&
逻辑或:操作符:||
4.加减乘除:
加:
var result=5+"5"; alert(result); //"55", /* 如果有一个数值是字符串,则将第二个操作数转换为字符串,然后将量个字符串连接起来, 如果有一个操作数是对象,数值或布尔值,则调用他们的tostring()方法取得相应的字符串,然后在应用字符串的规则。 对于undefined和null,则分别调用string()函数并取得字符串“undefined”和“null”。 */
减
5.for in 语句
for in语句是一种精准的迭代语句,可以用来枚举对象的属性,
for(var propName in window) //循环显示window对象的属性 { document.write(propName); }
但是如果要迭代的对象的变量值为null或undefined,for in 语句会抛出错误,
6.label语句
label语句是一中书写格式,:label:statement;
start:for(var i=0;i<count;i++){ alert(i); }
配合continue和break语句来使用:
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,break不仅将退出内部的for循环 ,还会退出外部的for循环,
上程序如果将break换成continue,则会强制执行循环 ,退出内不循环 ,循环外部for语句,结果为95.
7.with语句:with语句的作用是将一段代码的作用域限制到一个特定的对象中,
严格模式下不能使用with语句,会报错。
/* 由于大量使用with语句会导致性能下将,同时也会给调试代码造成困难,因此在开发大型应用程序时,不建议使用with语句。 */
8.函数
function functionName(argument1,argument2,...) { statements; } //可以通过其函数名来调用,后面加上一堆圆括号和参数(参数如果有多个,可以用逗号隔开)。
9.arguments:
ecmascript中的参数在内部使用一个数组来表示的,函数接收到的始终都是这个数组,而不关心数组中包含哪些参数。
其实,arguments对象只是与数组类似,并不是array的实例,因为可以使用方括号访问他的每一个元素,(arguments[0]).
/* Javascript函数中的参数对象arguments是个对象,而不是数组。但它可以类似数组那样通过数字下表访问其中的元素,而且它也有length属性标识它的元素的个数。 */
10.重载。
如果在ecmascript中定义了两个名字相同的函数,则改名字属于后定义的函数
function addNum(num) { return num+100; } function addNum(num) { return num+200; } var result=addNum(100); //300,后定义的函数覆盖了先定义的函数,