es6中箭头函数 原型

箭头函数 特性

箭头函数的特性

复制代码
	不绑定arguments,用rest参数...解决
	本身没有this的概念,捕获其所在上下文的 this 值
	作为自己的 this 值,this指向全局
	箭头函数不能使用new(会报错)
	箭头函数没有原型属性(prototype)
	箭头函数不能当做Generator函数,不能使用yield关键字
	箭头函数不能换行
	箭头函数有constructor、length属性
	箭头函数可以立即执行

改变this指向的方法有哪些

1)

在指定位置定义this存为变量

2)

使用箭头函数

3)

使用setTimeout

4)

使用call()方法

5)

使用bind()方法

6)

使用applay()方法

call(),bind(),apply()区别

1.apply、call、bind他们三个都能改变函数this的指向问题;

2.apply、call这两个方法的主动调用,bind返回的是改变this指向后的新函数;

3.传参的问题区别,call和bind都是直接传递参数,apply传递的是数组

html 复制代码
Function.prototype.callNew = function(content,...sum){
			console.log(!content);
			if(!content|| context === null|| context === undefined){
				context = window;
			}
			let fn = Symbol();
			content[fn] = this;
			return content[fn](...sum);
		}

深拷贝

html 复制代码
function deepClone(obj){
		let objClone = Array.isArray(obj)?[]:{};
			if(obj && typeof obj==="object"){
		for(key in obj){
		 			if(obj.hasOwnProperty(key)){
		 				//判断ojb子元素是否为对象,如果是,递归复制
		 				if(obj[key]&&typeof obj[key] ==="object"){
		 					objClone[key] = deepClone(obj[key]);
		 				}else{
		 					//如果不是,简单复制
		 					objClone[key] = obj[key];
		 				}
		 			}
		 		}
		 	}
		 	return objClone;
		 }    
		 let a=[1,2,3,4],
		 b=deepClone(a);
		 a[0]=2;
		 console.log(a,b);

原型

html 复制代码
方法一:
		// 	Array.prototype.shifts = function(){
		// 	for(var i=0;i<this.length-1;i++){
		// 		this[i] = this[i+1];
		// 	}
		// 	this.length = this.length-1;
		// }
		// var arr = [11,22,33];
		// arr.shifts();
		// console.log(arr);
		
复制代码
方法二:
	// Array.prototype.unshifts = function(user){
	// 	this.length = this.length+1;
	// 	for(var i=this.length-1;i>=0;i--){
	// 		this[i] = this[i-1];
	// 	}
	// 	this[0] = user;
	// }
	// var arr = [11,22,33];
	// arr.unshifts(44);
	// console.log(arr);

原型查找机制

  1. 当访问一个对象的属性或方法时,首先查找这个对象自身有没有
  2. 如果没有就查找它的原型(也就是 _ _ proto _ _指向的prototype 原型对象 )
  3. 如果还没有找到就查找原型对象的原型(Object的原型对象)
  4. 依次类推一直找到Object为止( null )
  5. _ _ proto _ _ 对象原型的意义就在于为对象成员查找机制提供一个方向,或者说一条线路
相关推荐
_丿丨丨_4 小时前
XSS(跨站脚本攻击)
前端·网络·xss
天天进步20154 小时前
前端安全指南:防御XSS与CSRF攻击
前端·安全·xss
呼啦啦呼啦啦啦啦啦啦5 小时前
利用pdfjs实现的pdf预览简单demo(包含翻页功能)
android·javascript·pdf
拾光拾趣录7 小时前
括号生成算法
前端·算法
拾光拾趣录8 小时前
requestIdleCallback:让你的网页如丝般顺滑
前端·性能优化
前端 贾公子8 小时前
vue-cli 模式下安装 uni-ui
前端·javascript·windows
拾光拾趣录8 小时前
链表合并:双指针与递归
前端·javascript·算法
@大迁世界8 小时前
前端:优秀架构的坟墓
前端·架构
拼图2098 小时前
element-plus——图标推荐
javascript·vue.js·elementui
期待のcode8 小时前
图片上传实现
java·前端·javascript·数据库·servlet·交互