1.在js中,函数(function)就是对象,后面的名字就是对象的引用
2.在js中,没有方法(函数)重载的概念
3.所以假设有同名的function函数,那么执行的永远是后面的那个同名function函数,因为对象被重新赋值了,一般采用第二种:
<script>
function add() {
alert("30");
}
var add=function () {
alert("30");
}
</script>
4.js中变量或者参数或者函数没有定义值,那么返回的是Undefined类型的值:undefined,js中有一个Function对象,所有自定义的函数都是Function类型的,比如:
<script type="text/javascript">
var add=new Function("number","number2","alert(number+10);alert(number2+10);");//Function接收,以字符串形式的参数和函数体,先传入参数,最后传函数体
add(20,30);
</script>
5.js中每个函数都有个隐式对象(属性)arguments[参数],参数从0开始分别代表第一个参数到最后一个参数,注意是实际赋值的参数,不受函数本身参数影响,比如
<script type="text/javascript">
function add(number1,number2)
{
alert(arguments[0]);
alert(arguments[1]);
alert(arguments[2]);
}
add(20,30,40);
</script>
比如arguments.length返回的是传入参数的个数,注意没有()。
6.每个函数对象都有一个length属性,表示该函数期望接受的参数格式,它与函数argument不同,argument.length表示函数实际接受的参数
7.js中有五种原始数据类型:
Undefined:未定义,数据类型只有一个undefined
Null:数据类型只有一个null,undefined实际上是从null派生出来的。
Boolean:数据类型只有true和false
Number:
String:单引号和双引号都代表字符串,js中没有char数据类型
7.typeof是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有5个:undefined,boolean,number,string,object
8.强制类型转换:在javascript中有3种强制类型转换:Boolean(value),当value为0时为false,Number(value),String(value).当前面没有new时代表强制转换,有代表对象
9.在js中,所有的对象都是从object对象继承过来的,object中的属性是不可枚举的,因此无法通过for。。in得到其属性。
10.定义数组
对于js数组的sort方法来说,它会先将待排序的内容转换为字符串(调用toString()方法),按照字符串的先后顺序进行排序。
var array=new Array();
array.push(1);
array.push(2);
var array=[1,3,25];
array.sort();//这是不可靠的,所以我们要自定义比较函数
alert(array)
var array=[1,3,25];
function compare(num1,num2) {
var temp1=parseInt(num1);
var temo2=parseInt(num2);
if (temp1==temo2)
{
return 0;
}
if (temp1<temo2)
{
return -1;
}
else
{
return 1;
}
}
array.sort(compare);//第一种方法,结合上面的compare函数
// array.sort(function (a, b) { return a-b; });//第二种方式采用匿名函数的方式,如果返回值小于0代表a小于b,等于0代表相等&#