您的位置:首页 > Web前端 > JavaScript

笔记__JavaScript

2014-06-05 16:12 120 查看
1、for( i = 0 ;  i < a.length ;  a[i++] = 0 ) ;   /*初始化一个数组,而for循环是至少包含一条语句的,因为,在这就使用分号来表示一条语句*/2、var声明的变量是无法通过delete删除的,初始值都为undefined , 多次声明同一个变量是无所谓的。3、变量如果等于null、undefined、false、0、“”、NaN;都可以用if(变量)来判断。4、把o的所有属性对象复制到数组中
var o = {x:1,y:2,z:3};
var a = [] , i = 0;
for(a[i++] in o);
5、当希望通过break来跳出非就近的循环体或switch语句时,就要用到带有标签的break语句。Code:
var matrix = getDate();/*获得一个二维数组*/
var sum = 0, success = false;
compute_sum: if (matrix) {
for (var x = 0; x < matrix.length; x++) {
var row = matrix[x];
if (!row) break compute_sum;
for (var y = 0; y < row.length; y++) {
var cell = row[y];
if (isNaN(cell)) break compute_sum;
sum += cell;
}
}
success = true;

}
6、局部变量let
let x = 1 , y = 2;
let(x=x+1 , y = x + 2){
alert(x+y);   //输出5
};
alert(x+y); //输出3
7、结构赋值 : 解构赋值时,右侧的数组和对象中的一个或多个值就会被提取出来(解构),并赋值给左侧相应的变量名。      当函数返回一组结果的时候,解构赋值就显的非常有用了。
let [x,y] = [1,2];
[x,y] = [x+1,y+1];   //x = 2 , y = 3
[x,y] = [y,x];    //交换了一下
alert([x,y]);     //输出[3,2]
8、URL中的JavaScript:在URL后面跟一个javascript:协议限定符,<a href="javacsript:new Date().toLocaleTimeString();">what time is it?</a>//这会跳转到新的页面显示<pre name="code" class="javascript"><a href="javacsript:alert(new Date().toLocaleTimeString());">what time is it?</a>//因为alert的返回值为undefined,所以不会跳转页面; onclick事件通过button来处理比较合适,a标签通常应该保留为超链接。
---------------04-09/2015
1、匿名函数,被创建后,立即调用。匿名函数的变量和方法的作用域仅在函数内,若要使用匿名函数的变量和方法,使用全局变量吧。2、全局作用域由于window对象同时扮演着ECMAScript中Global对象的角色,因此所有在全局作用域中生命的变量、函数都会成为window对象的属性和方法。var age = 29;function sayAge(){     alert(this.age);}alert(window.age);//29window.sayAge();//29 全局变量不能通过delete删除,直接在window对象上的定义的属性可以。var age = 29;window.color = "red";delete window.age;//Errdelete window.color;//true访问未声明的变量会抛出错误,但是通过查询window对象,可以知道某个可能未声明的变量是否存在。var newVlalue = oldValue; //报错,因为未定义var newValue = window.oldValue;//不会报错,因为这试一次属性查询。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 笔记