JavaScript 类与对象

1、通过函数建立工厂在这里插入图片描述
2、函数的重要性质
在这里插入图片描述
1)arguments:用于函数的参数的个数不确定时使用
function superadd(){var result=0;for(var i=0;i<arguments.length;i++){result+=arguments[i];}return result;}

实现拼接字符串
 < script type="text/javascript">var result='';function superadd(){for(var i=0;i<arguments.length;i++){result+=arguments[i];}return result;}superadd('I ','am ','a ','girl')console.log(result);< /script>
2)函数的方法
可以改变函数的this指向
call 需要把参数按顺序传递进去,而 apply 则是把参数放在数组里。
bind call apply
数组之间追加

var array1 = [12 , "foo" , {name "Joe"} , -2458]; 
var array2 = ["Doe" , 555 , 100]; 
Array.prototype.push.apply(array1, array2); 
/* array1 值为  [12 , "foo" , {name "Joe"} , -2458 , "Doe" , 555 , 100] */

获取数组中的最大值和最小值

var  numbers = [5, 458 , 120 , -215 ]; 
var maxInNumbers = Math.max.apply(Math, numbers),   //458
    maxInNumbers = Math.max.call(Math,5, 458 , 120 , -215); //458
  number 本身没有 max 方法,但是 Math 有,我们就可以借助 call 或者 apply 使用其方法。
验证是否是数组(前提是toString()方法没有被重写过)
functionisArray(obj){ 
    returnObject.prototype.toString.call(obj) === '[object Array]' ;
}

类(伪)数组使用数组方法

var domNodes =Array.prototype.slice.call(document.getElementsByTagName("*"));

3、函数的属性
length
var ad=function add();
ad.length()=2:在函数声明时就已经确定
ad.argument.length=参数的个数
4、在这里插入图片描述
5、立即执行函数与闭包
在这里插入图片描述
6、构造函数
instanceOf
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43719397/article/details/85058660