JS高级第三天

遍历数组元素

	数组.forEach(function(item , index ,array){
		item:数组元素
		index:数组元素的索引 
		array:数组本身 
})

筛选数组元素

数组.filter(function(item ,index, array){
		item:数组元素
		index:数组元素的索引 
		array:数组本身 
		return 筛选条件 
})
返回值:把符合条件的放到一个数组中返回

判读是否有满足条件的元素

数组.some(function(item,index,array){
		item:数组元素
		index:数组元素的索引 
		array:数组本身 
		return 判读条件
})
//返回值为false或者true

 // return true 可以结束判断 

map()方法

//返回原数组每个元素调用一次其函数后组成的新数组
	数组.map(function(currentValue , index , array){
	//要执行的函数 
	currentValue : 数组中正在处理的当前元素,
	index:数组中正在处理的当前元素的索引值 ,
	array: map方法调用的数组

})

every()方法

//用来测试数组内每个元素是否都能通过某个指定函数的的测试 
数组.every(function(element,index,array){
参数:
	element:用于测试的当前值,
	index:用于测试当前值的索引,
	array: 调用every()的数组本身
})
返回值: false 或者 true

删除字符串两边的空格

字符串.trim()

<input type="text"> <span></span>
    <script>
        var ipt = document.querySelector('input');
        var span = document.querySelector('span');
        ipt.addEventListener('blur',function(){
             var content = ipt.value.trim();
             if(content.length < 6 || content.length > 12){
                span.innerHTML = '内容不合法···'
             }else{
                 span.innerHTML = '内容正确'
             }
        })        
    </script>

获取对象的所有属性名

Object.keys(被获取的对象)
返回值 : 含有所有属性名的数组 

添加 / 修改属性

语法: Object.defineProperty(被操作的对象 , 要操作的属性 , {
	属性的描述对象 
})

属性描述对象: 
	{
		value: 属性值,
		writable:true\false ,定义属性值是否可以被修改 默认为false,
		enumerable: true\false , 定义该属性是否可以被遍历 默认为false,
		configurable:true\false , 定义该属性是否可以被删除 默认为false 
}

更改函数中this的指向

 call()方法 
 		一般应用于继承属性时
 	函数.call(this要指向的对象, 参数1,参数2 ...)
 apply()方法
	 一般利用内置对象对数组进行操作 
 	函数.apply(this要指向的对象 , [参数1, 参数2,....])
 bind()方法
 	一般用于需要得到一个thi改变后的函数 
 	函数.bind(this要指向的对象 , 参数1 , 参数2,...)

call()方法和apply()方法都会改变this指向并且调用 只不过使用的方法不同 而bind()方法不会调用 而是会将原函数改变this指向后拷贝一个新的函数 ,所以一般要一个新的函数进行接收

高阶函数:

(1)函数作为参数传递的函数 
(2)函数作为返回值的函数 

闭包

闭包函数是特殊的函数
表现形式:
1、函数内部嵌套了函数
2、内部函数使用了外部的变量
作用:
1、延伸了局部变量的作用范围 在函数外部可以访问局部变量
2、局部变量常驻内存(不会被销毁)

	<ul>
        <li>我是第一个li</li>
          <li>我是第二个li</li>
            <li>我是第三个li</li>
              <li>我是第四个li</li>
    </ul>
<script>
	var lis = document.querySelectorAll('li');
	for(var i = 0 ; i < lis.length ; i++){
	(function(i){
			lis[i].onclick = function(i){
		console.log(i)
}
})(i);
}
</script>
也可以是:
	var lis = document.querySelectorAll('li');
	for(var i = 0 ; i < lis.length ; i++){
	lis[i].onclick = (function(){
		return function(i){
	console.log(i)
}
})(i)
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值