JavaScript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素(指索引超过或等于length的元素),这时,length属性的值将被设置为所使用元素索引的值加1
var arr=[12,23,5,3,25,98,76,54,56,76];//这么定义js数组是一种方式,这是直接创建数组方式
alert(arr.length);
arr[15]=34;
alert(arr.length);
var mycars = new Array() //这也是js数组定义的一种方式,这是通过函数方式创建
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
JavaScript里边,没有类的概念,和数组一样,可以直接创建一个对象(或通过函数)出来,对象可以有默认成员,后期也可以给对象丰富成员出来
var obj ={ 名称:值,名称:值,......}该方式创建出来对象的结构与json数据完全一致,创建对象时, 名称 是否使用引号括起来都可以
对象访问成员: 对象.成员名称
给对象丰富成员: 对象.成员名称 = 值; 对象[成员名称] =值,第二种方式丰富对象成员,可以是变量
对象调用全局环境的其他函数
function getInfo() { console.log('在爬树'); } var cat ={ name:'kitty' }; cat.pa = getInfo;//增加一个成员,并把getInfo函数的指引给他 //cat.pa =getInfo()-----这样是把getInfo()执行结果给pa成员了 cat.pa();//这样就是调用了getInfo函数了 </script>
call和apply使得函数执行的时候可以控制变量污染的风险(对象调用其他函数/方法的时候,无需为对象创建新成员)
被调用的函数/方法.call(调用者,实参。。。。)