1、每一个函数对象都有一个length属性,表示该函数期望接收的参数格式。它与函数的arguments不同,arguments.length表示函数实际接收的参数格式。
<html> <head> <script type="text/javascript"> var add = function(num, num2, num3) { alert(num + num2 + num3); } alert(add.length); add(1, 2, 3); var add2 = function() { } alert(add2.length); </script> </head> <body> </body> </html>
3. Undefined数据类型的值只有一个:undefined。
4. Null数据类型的值只有一个:null。
5. Boolean数据类型的值有两个:true和false。
6. JavaScript中没有char数据类型。
7. typeof是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有5个:undefined、boolean、number、string以及object。
8. 在JavaScript中,如果函数没有声明返回值,那么会返回undefined。
9. null与undefined的关系:undefined实际上是从null派生出来的。
10. 强制类型转换:在JavaScript中有3种强制类型转换:Boolean(value),Number(value),String(value)。
11. 在JavaScript中,对于函数中定义的变量来说,加var表示局部变量,不加var表示全局变量。
12. 在JavaScript,所有对象都是从Object对象继承过来的。Object中的属性是不可枚举的(propertyIsEnumerable返回false),因此无法通过for…in语句得到其中的属性。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript"> //var s = false; //alert(s); //var s = "hello"; //alert(typeof s); //var s = new String("hello"); //alert(typeof s); //var s = false; //alert(typeof s); //var s = 3; //alert(typeof s); /* function add() { return; } alert(add()); */ //alert(typeof s); //alert(undefined == null); //var s = Number(3); //alert(s); //var s = Boolean("hello"); //alert(s); //var s = new String("hello"); //alert(typeof s); //var s = new Boolean("hello"); //alert(s); /* var object = new Object(); for(var v in object) { alert(v); } alert(object.propertyIsEnumerable("prototype")); */ /* for(var v in window) { alert(v); } */ </script> </head> <body> </body> </html>
13. 在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性。
var object = new Object(); //alert(object.username); object["username"] = "shengsiyuan"; alert(object.username); delete object.username; // username属性已经从object对象中删除 alert(object.username);
var object = {username: "zhangsan", password: 123}; alert(object.username); alert(object.password);
var array = new Array(); array.push(1); array.push(2); array.push(3); alert(array.length); var array = [1, 3, 25]; array.sort(); alert(array); //显式1,25,3
function compare(num1, num2) { var temp1 = parseInt(num1); var temp2 = parseInt(num2); if(temp1 < temp2) { return -1; } else if(temp1 == temp2) { return 0; } else { return 1; } } var array = [1, 3, 25]; array.sort(compare); //函数名是对象引用 alert(array); var array = [1, 3, 25]; // 匿名函数 array.sort(function(num1, num2) { var temp1 = parseInt(num1); var temp2 = parseInt(num2); if(temp1 < temp2) { return -1; } else if(temp1 == temp2) { return 0; } else { return 1; } } ); alert(array);