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>
2. JavaScript中有五种原始数据类型:Undefined、Null、Boolean、Number以及String。
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);
14. 在JavaScript中定义对象的第二种方式:
var object = {username: "zhangsan", password: 123};
alert(object.username);
alert(object.password);
15. 对于JavaScript数组的sort方法来说,它会先将待排序的内容转换为字符串(调用toString()方法),按照字符串的先后顺序进行排序。
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);