function fn(){
var a = b = 1 //该方式创建的变量,b为全局变量
// var a = 1, b = 1 //该方法创建的变量都为局部变量
}
fn()
console.log(typeof a) // undefined
console.log(typeof b) // number
fn1(); // 1
function fn1(){
console.log(1)
}
fn2(); //报错
var fn2 = function(){
console.log(2)
}
function Student(){
this.a = 1;
this.b = 2;
}
Student.prototype.c = 3;
var s = new Student()
for (item in s){
console.log(item); // a b c
}
// for…in的顺序不确定;
// for in 对象属性时受原型链的影响,enumerable为false时不会出现。
function fn(){
b = 1
}
fn()
console.log(b) // 1
!function(a){
arguments[0] = 100;
console.log(a);//100
}(1)
!function(a){
arguments[0] = 100;
console.log(a);//undefined
}()
!function(a){
‘use strict‘
arguments[0] = 100;
console.log(a);//1
}(1)//不传参数打印a为undefined
var arr = [,,];
console.log(arr);// undefined * 2 ,最后一个逗号后面的被忽略
//数组的长度大小:0~2^23-1
var arr2 = [1,2,3]
delete arr2[0]
console.log(arr2); // [undefined, 2, 3]
console.log(0 in arr2); //false 0为索引
arr2.length -= 1;//删除最后一项
var arr3 = [undefined];
var arr4 = new Array(1);
0 in arr3;//true
0 in arr4;//false
0 in arr;//false
原文:https://blog.51cto.com/11569511/2417898