函数创建:
3种创建函数的方式
* 直接声明函数
function funcName(/*参数列表*/){ //函数体 }
* 函数表达式
var funcName = function(){ };
* new Function()
var func = new Function(); var 函数名 = new Function(); //创建一个空的函数 var 函数名 = new Function("函数体") //创建一个没有参数的函数,只有一个参数就是函数体 var 函数名 = new Function("参数1","参数2", "参数3",..."函数体") //当给Fucntion传多个参数的时候,最后一个参数为函数体,前面的参数为创建出来的函数的形参 //Function接收的所有的参数都是字符串类型的!!!
arguments对象
arguments对象是函数内部的一个对象,在函数调用的时候,系统会默认的将所有传入的实参存入该对象
arguments对象是函数内部的一个对象,在函数调用的时候,系统会默认的将所有传入的实参存入该对象
注意:不管有没有形参,实参都会被存入该对象
arguments.length 表示传入实参的个数
arguments.callee 指向当前函数 (匿名函数中使用,因为他没有名字)
arguments.length 表示传入实参的个数
arguments.callee 指向当前函数 (匿名函数中使用,因为他没有名字)
eval
可以将字符串转换成js代码并执行
可以将字符串转换成js代码并执行
注意:当使用eval解析JSON格式字符串的时候,要注意,会将{}解析为代码段
1.可以在JSON格式字符串前面拼接 "var 变量名 ="
eval("var 变量名 =" + JSON格式的字符串);
1.可以在JSON格式字符串前面拼接 "var 变量名 ="
eval("var 变量名 =" + JSON格式的字符串);
2.可以在JSON格式字符串前后拼接()
eval("("+JSON格式的字符串+")")
eval("("+JSON格式的字符串+")")
Function和eval有什么区别
共同点,都可以将字符串转换成js代码
共同点,都可以将字符串转换成js代码
不同点
1.Function 创建出来的是 函数 并不会直接调用,只有当手动去调用创建出来的函数的时候,才会执行
2.eval 把字符串转成代码之后,直接就执行了
1.Function 创建出来的是 函数 并不会直接调用,只有当手动去调用创建出来的函数的时候,才会执行
2.eval 把字符串转成代码之后,直接就执行了
静态成员和实例成员
静态成员
通过构造函数去访问的属性和方法就是静态成员
Person.成员
实例成员
通过对象(实例)去访问的属性和方法就是实例成员
var p = new Person(); p.成员
通过构造函数去访问的属性和方法就是静态成员
Person.成员
实例成员
通过对象(实例)去访问的属性和方法就是实例成员
var p = new Person(); p.成员
$("#id").css(); 实例成员 $("#id").text();
$.trim(); 静态成员 $.each(); $.extend();