代码如下:
var emptyObject1 = {}; //创建空对象
var emptyObject2 = new Object(); //创建空对象
var person = {"name":"sdcyst",
"age":18,
"sex":"male"}; //创建一个包含初始值的对象person
alert(person.name); //sdcyst
alert(person["age"]); //18
代码如下:
var person = {};
person.name = "sdcyst";
person["age"] = 18;
alert(person.name + + person.age); //sdcyst__18
var _person = {name:"balala","age":23}; //在构建一个对象时,属性的名字可以不用引号来标注(name),
//但是仍旧是一个字符串类型.在访问的时候[]内仍旧需要引号
alert(_person["name"] + + person.age); //balala__23
alert(_person[name]); //undefinied
var person = {};
person.name = "sdcyst";
person["age"] = 18;
alert(person.name + + person.age); //sdcyst__18
var _person = {name:"balala","age":23}; //在构建一个对象时,属性的名字可以不用引号来标注(name),
//但是仍旧是一个字符串类型.在访问的时候[]内仍旧需要引号
alert(_person["name"] + + person.age); //balala__23
alert(_person[name]); //undefinied
代码如下:
var name = {"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};
var namestring = "";
for(var props in name) { //循环name对象中的属性名字
namestring += name[props];
}
alert(namestring); //NAME1NAME2NAME3NAME4
namestring = "";
for(var i=0; i<4; i++) {
namestring += name["name"+(i+1)];
}
alert(namestring); //NAME1NAME2NAME3NAME4
代码如下:
var name = {"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};
var namestring = "";
for(var props in name) { //循环name对象中的属性名字
namestring += name[props];
}
alert(namestring); //NAME1NAME2NAME3NAME4
delete name.name1; //删除name1属性
delete name["name3"]; //删除name3属性
namestring = "";
for(var props in name) { //循环name对象中的属性名字
namestring += name[props];
}
alert(namestring); //NAME2NAME4
alert("name1" in name); //false
alert("name4" in name); //true
代码如下:
var date = new Date();
alert(date.constructor); //Date
alert(date.cOnstructor== "Date"); //false
alert(date.cOnstructor== Date); //true
代码如下:
var array1 = []; //创建空数组
var array2 = new Array(); //创建空数组
array1 = [1,"s",[3,4],{"name1":"NAME1"}]; //
alert(array1[2][1]); //4 访问数组中的数组元素
alert(array1[3].name1); //NAME1 访问数组中的对象
alert(array1[8]); //undefined
array2 = [,,]; //没有数值填入只有逗号,则对应索引处的元素为undefined
alert(array2.length); //3
alert(array2[1]); //undefined
var array1 = []; //创建空数组
var array2 = new Array(); //创建空数组
array1 = [1,"s",[3,4],{"name1":"NAME1"}]; //
alert(array1[2][1]); //4 访问数组中的数组元素
alert(array1[3].name1); //NAME1 访问数组中的对象
alert(array1[8]); //undefined
array2 = [,,]; //没有数值填入只有逗号,则对应索引处的元素为undefined
alert(array2.length); //3
alert(array2[1]); //undefined
代码如下:
var array = new Array(10);
alert(array.length); //10
alert(array[4]); //undefined
array[100] = "100th"; //这个操作会改变数组的长度,同时将10-99索引对应的值设为undefined
alert(array.length); //101
alert(array[87]); //undefined
var array = new Array(10);
alert(array.length); //10
alert(array[4]); //undefined
array[100] = "100th"; //这个操作会改变数组的长度,同时将10-99索引对应的值设为undefined
alert(array.length); //101
alert(array[87]); //undefined
代码如下:
var array = new Array("n1","n2","n3","n4","n5"); //五个元素的数组
var astring = "";
for(var i=0; i
}
alert(astring); //n1n2n3n4n5
delete array[3]; //删除数组元素的值
alert(array.length + "_" + array[3]) //5_undefined
array.length = 3; //缩减数组的长度
alert(array[3]); //undefined
array.length = 8; //扩充数组的长度
alert(array[4]); //undefined
var array = new Array("n1","n2","n3","n4","n5"); //五个元素的数组
var astring = "";
for(var i=0; i
}
alert(astring); //n1n2n3n4n5
delete array[3]; //删除数组元素的值
alert(array.length + "_" + array[3]) //5_undefined
array.length = 3; //缩减数组的长度
alert(array[3]); //undefined
array.length = 8; //扩充数组的长度
alert(array[4]); //undefined
代码如下:
var array = new Array("no1","no2");
array["po"] = "props1";
alert(array.length); //2
//对于数组来说,array[0]同array["0"]效果是一样的(?不确定,测试时如此)
alert(array[0] + "_" + array["1"] + "_" + array.po);//no1_no2_props1
代码如下:
function f(x) {........}
var f = function(x) {......}
代码如下:
function myprint(s1,s2,s3) {
alert(s1+"_"+s2+"_"+s3);
}
myprint(); //undefined_undefined_undefined
myprint("string1","string2"); //string1_string2_undefined
myprint("string1","string2","string3","string4"); //string1_string2_string3
function myprint(s1,s2,s3) {
alert(s1+"_"+s2+"_"+s3);
}
myprint(); //undefined_undefined_undefined
myprint("string1","string2"); //string1_string2_undefined
myprint("string1","string2","string3","string4"); //string1_string2_string3
代码如下:
function myprint(s1,person) {
var defaultperson = { //默认person对象
"name":"name1",
"age":18,
"sex":"female"
};
if(!s1) { //s1不允许为空
alert("s1 must be input!");
return false;
}
person = person || defaultperson; //接受person对象参数
alert(s1+"_"+person.name+":"+person.age+":"+person.sex);
};
myprint(); //s1 must be input!
myprint("s1"); //s1_name1:18:female
myprint("s1",{"name":"sdcyst","age":23,"sex":"male"}); //s1_sdcyst:23:male
function myprint(s1,person) {
var defaultperson = { //默认person对象
"name":"name1",
"age":18,
"sex":"female"
};
if(!s1) { //s1不允许为空
alert("s1 must be input!");
return false;
}
person = person || defaultperson; //接受person对象参数
alert(s1+"_"+person.name+":"+person.age+":"+person.sex);
};
myprint(); //s1 must be input!
myprint("s1"); //s1_name1:18:female
myprint("s1",{"name":"sdcyst","age":23,"sex":"male"}); //s1_sdcyst:23:male
代码如下:
function myargs() {
alert(arguments.length);
alert(arguments[0]);
}
myargs(); //0 --- undefined
myargs("1",[1,2]); //2 --- 1
function myargs() {
alert(arguments.length);
alert(arguments[0]);
}
myargs(); //0 --- undefined
myargs("1",[1,2]); //2 --- 1 Arguments对象有一个callee属性,标示了当前Arguments对象所在的方法.可以使用它来实现匿名函数的内部递归调用.
代码如下:
function(x) {
if (x <= 1) return 1;
return x * arguments.callee(x-1);
} (section8.2)
function(x) {
if (x <= 1) return 1;
return x * arguments.callee(x-1);
} (section8.2)
代码如下:
var obj = {f0:function(){alert("f0");}}; //对象包含一个方法
function f1() {alert("f1");}
obj.f1 = f1; //为对象添加方法
obj.f0(); //f0 f0是obj的方法
obj.f1(); //f1 f1是obj的方法
f1(); //f1 f1同时又是一个函数,可以直接调用
f0(); //f0仅仅是obj的方法,只能通过对象来调用
var obj = {f0:function(){alert("f0");}}; //对象包含一个方法
function f1() {alert("f1");}
obj.f1 = f1; //为对象添加方法
obj.f0(); //f0 f0是obj的方法
obj.f1(); //f1 f1是obj的方法
f1(); //f1 f1同时又是一个函数,可以直接调用
f0(); //f0仅仅是obj的方法,只能通过对象来调用
代码如下:
var obj = {"name":"NAME","sex":"female"};
obj.print = function() { //为对象添加方法
alert(this.name + "_" + this["sex"]);
};
obj.print(); //NAME_female
obj.sex = "male";
obj.print(); //NAME_male
var obj = {"name":"NAME","sex":"female"};
obj.print = function() { //为对象添加方法
alert(this.name + "_" + this["sex"]);
};
obj.print(); //NAME_female
obj.sex = "male";
obj.print(); //NAME_male
代码如下:
var person = {name:"defaultname",
setName:function(s){
this.name = s;
},
"printName":function(){
alert(this.name);
}}
person.printName(); //defaultname
person.setName("newName");
person.printName(); //newName
var person = {name:"defaultname",
setName:function(s){
this.name = s;
},
"printName":function(){
alert(this.name);
}}
person.printName(); //defaultname
person.setName("newName");
person.printName(); //newName