FED11 _call函数
描述
请补全JavaScript代码,要求实现Function.call函数的功能且该新函数命名为"_call"。
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><style>/* 填写样式 */</style>
</head><body><!-- 填写标签 --><script type="text/javascript">// 填写JavaScriptFunction.prototype._call=function(target=window){target['fn']=thisconst result=target['fn']([...arguments].shift())delete target['fn']return result}</script>
</body></html>
FED12 Function.bind
描述
请补全JavaScript代码,要求实现Function.bind函数的功能且该新函数命名为"_bind"。
<!DOCTYPE html>
<html><head><meta charset=utf-8></head><body><script type="text/javascript">// 补全代码Function.prototype._bind = function(target, ...arguments1) { target['fn']=thisreturn function(...arguments2){return target['fn'](...arguments1.concat(arguments2))}}</script></body>
</html>
FED13 实现new操作符
描述
请补全JavaScript代码,要求实现new操作符的功能。
<!DOCTYPE html>
<html><head><meta charset=utf-8></head><body><script type="text/javascript">const _new = function() {// 补全代码const object1={}const Fn=[...arguments].shift()object1.__proto__=Fn.prototypeconst object2=Fn.apply(object1,arguments)return object2 instanceof Object?object2:object1}</script></body>
</html>
FED14 Object.freeze
描述
请补全JavaScript代码,要求实现Object.freeze函数的功能且该新函数命名为"_objectFreeze"
<!DOCTYPE html>
<html><head><meta charset=utf-8></head><body><script type="text/javascript">const _objectFreeze = object => {// 补全代码Object.preventExtensions(object);for(let key in object){if(object.hasOwnProperty(key)){Object.defineProperty(object,key,{writable:false,configable:false})}}return object}</script></body>
</html>
FED15 浅拷贝
描述
请补全JavaScript代码,要求实现一个对象参数的浅拷贝并返回拷贝之后的新对象。
注意:
- 参数可能包含函数、正则、日期、ES6新对象
<!DOCTYPE html>
<html><head><meta charset=utf-8></head><body><script type="text/javascript">const _shallowClone = target => {// 补全代码if(typeof target==='object'&&target!=='null'){let a=Array.isArray(target)?[]:{};for(let i in target){a[i]=target[i];}return a;}else{return target;}}</script></body>
</html>