//==="2个= 与3个= "=== var result1=("55"==55); //-> true var result2=("55"===55); //->false alert(result1+" ; "+result2); //=====for in====== for(var propName in window){ document.write(propName); document.write("</br>"); } //====函数的return语句===== function sum(a,b){ return a+b; alert("hello"); //return之后的语句将不会被执行 } document.write(sum(2,3)); function sayHi(name,message){ return; //输出undefined alert("Heloo"); //同样Heloo也不会输出 } document.write(sayHi("Me")); document.write("<br/>"); function sayHi(){ document.write("Hello "+arguments[0]+","+arguments[1]); } sayHi("he","said"); //========arguments与参数===== function doAdd(num1,num2){ arguments[1]=10; alert(arguments[0]+num2); } doAdd(11,2); //-> 21 doAdd(11); //->NaN,只传入了一个参数,arguments[1]设置的值不会反应到命名参数中。 doAdd(); //->NaN,没有传递值的命名参数,将自动被赋予undefined值。 //====没有return语句的函数====== /* function add(a,b){ var result = a+b; } alert(add(2,3)); //->undefined,未指定返回值的函数返回的是一个特殊的undefined值。 */ //======Object====== /* var person = new Object(); person.name = "Nicolas"; alert(person.name); //->Nicolas; var name="Nicolas"; name.age = 27; alert(name.age); //->undefined,不能给基本类型的值添加属性。 */ //========基本类型与引用类型====== function addTen(num){ num += 10; return num; } var count = 20; var result = addTen(count); alert(count); //->20 alert(result); //->30 function setName(obj){ obj.name = "Nicolas"; } var person = new Object(); setName(person); document.write(person.name); //->Nicolas document.write("<br/>"); function setName1(obj){ obj.name = "Angle"; obj = new Object(); obj.name = "Greg"; } var person1 = new Object(); setName1(person1); document.write(person1.name); //->Angle ,说明JavaScript对象参数是值传递 alert(person1 instanceof Object); //========JSON======== /* * JSON.stringify()把一个JavaScript对象序列化成一个JSON字符串 * 其中值为undefined的任何属性也都会被跳过 * * */ var book = { title:"Professional JavaScript", authors:[ "Nicholas c. Zakas" ], edition:3, year:2011, denote:undefined }; var jsonText = JSON.stringify(book); alert(jsonText); var copyBook = JSON.parse(jsonText); alert(copyBook["year"]); /* * 过滤结果 * JSON.stringfy(Array,["param1","param2"]) */ var jsonText1 = JSON.stringify(book,["title","edition"]); document.write(jsonText1); /* * 字符串缩进 *JSON.stringify(value [, replacer] [, space]) */ /* var jsonText2 = JSON.stringify(book,null,4);//缩进4个空格 alert(jsonText2); /* * toJson */ var book1 = { title:"Professional JavaScript", authors:[ "Nicholas c. Zakas" ], edition:3, year:2011, toJSON:function(){ return this; } }; var jsonText3 = JSON.stringify(book1); alert(jsonText3);