review系列前端经典题之对象调用数组方法(代码片段)

Vicky沛沛 Vicky沛沛     2022-12-07     183

关键词:

写出以下的obj的值:

let obj = 
  2:3,
  3:4,
  length:2,
  push:Array.prototype.push

obj.push(1)			//obj[2] = 1
obj.push(2)			//obj[3] = 2
console.log(obj)

分析:


//模拟数组的push方法
Array.prototype.push = function(val)
  this[this.length] = val;			//往数组中push一个val,也就是把val放进index位数组第数组的长度位数处
	//  this.length 在原来的基础上加一,浏览器自动加一

//那么就得出如下结果2: 1, 3: 2, length: 4, push: ƒ
obj = 
  2:1,
  3:2,
  length:4,
  push:Array.prototype.push

基础review系列前端基础review(代码片段)

Review题目合集持续更新ing~前端基础github地址。README02.md可以下载到typora中打开,会有整个大纲目录显示(github中markdown目录快捷生成方式不现实,之后可能会想办法生成贴过来,暂时不做相关处理)前端... 查看详情

基础review系列前端基础review(代码片段)

Review题目合集持续更新ing~前端基础github地址。README02.md可以下载到typora中打开,会有整个大纲目录显示(github中markdown目录快捷生成方式不现实,之后可能会想办法生成贴过来,暂时不做相关处理)前端... 查看详情

review系列求两个数组的交集(代码片段)

求两个数组的交集letnum1=[1,4,2,6,9]letnum2=[3,4,7,2]//方法一letarr=[]for(leti=0;i<num1.length;i++)letitem1=num1[i]for(letj=0;j<num2.length;j++)letitem2=num2[j]if 查看详情

review系列把公司1-12个月的销售额存在对象中(代码片段)

把公司1-12个月的销售额存在对象中方法一letobj=1:222,3:444,5:345letarr=newArray(12).fill(null).map((item,index)=>returnobj[index+1]||null)方法二obj.lengthletobj=1:222,3:444,5:345obj.length=13 / 查看详情

review系列把公司1-12个月的销售额存在对象中(代码片段)

把公司1-12个月的销售额存在对象中方法一letobj=1:222,3:444,5:345letarr=newArray(12).fill(null).map((item,index)=>returnobj[index+1]||null)方法二obj.lengthletobj=1:222,3:444,5:345obj.length=13 / 查看详情

review系列旋转数组(代码片段)

旋转数组截取拼接functionrotate(k) //参数处理 if(k<0||k===0||k===this.length)returnthis; if(k>this.length)k=k%this.length //旋转数组//returnarr.slice(-k).concat(arr.slice(0,arr.length 查看详情

review系列旋转数组(代码片段)

旋转数组截取拼接functionrotate(k) //参数处理 if(k<0||k===0||k===this.length)returnthis; if(k>this.length)k=k%this.length //旋转数组//returnarr.slice(-k).concat(arr.slice(0,arr.length 查看详情

ios经典面试题之深入解析runtime如何通过selector找到对应的imp地址(代码片段)

类对象中有类方法和实例方法的列表,列表中记录着方法的名词、参数和实现,而selector本质就是方法名称,runtime通过这个方法名称就可以在列表中找到该方法对应的实现。如下所示,objc_class的底层定义声明了一... 查看详情

review系列系列数组扁平化(代码片段)

数组扁平化编写一个程序将数组letarr=[[2,4,1,5],[8,5,2],[23,45,12,[29,3,5,[1,4,67]],10]扁平化,并去除其中重复部分,最终得到一个升序且不重复的数组ES6:flat、Set、sortletarr=[[2,4,1,5],[8,5,2],[23,45,12,[1,45,35]],10]arr& 查看详情

review系列系列数组扁平化(代码片段)

数组扁平化编写一个程序将数组letarr=[[2,4,1,5],[8,5,2],[23,45,12,[29,3,5,[1,4,67]],10]扁平化,并去除其中重复部分,最终得到一个升序且不重复的数组ES6:flat、Set、sortletarr=[[2,4,1,5],[8,5,2],[23,45,12,[1,45,35]],10]arr& 查看详情

review系列数组合并(代码片段)

数组合并得到["A","A1","A2","B","B1","B2","C","C1","C2","D","D1","D2"]letary1=['A1','A2',&# 查看详情

review系列数组合并(代码片段)

数组合并得到["A","A1","A2","B","B1","B2","C","C1","C2","D","D1","D2"]letary1=['A1','A2',&# 查看详情

review系列面向对象new(代码片段)

面向对象new(function()function_new() //letobj=Object.create(this.prototype)下面两句的简写letobj=newObject();obj.__proto__=this.prototype;obj.apply(this,arguments)returnobj;Function.prototype._new= 查看详情

review系列面向对象new(代码片段)

面向对象new(function()function_new() //letobj=Object.create(this.prototype)下面两句的简写letobj=newObject();obj.__proto__=this.prototype;obj.apply(this,arguments)returnobj;Function.prototype._new=_new;)() 查看详情

java面试题之sleep()和wait()方法的区别

sleep方法:  属于Thread类中的方法;会导致程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持着,当指定时间到了之后,又会自动恢复运行状态;在调用sleep方法的过程中,线程不会释放对象锁。wait方... 查看详情

review36(代码片段)

对于Thread(Runnabletarget)构造方法创建的线程,轮到它来享用CPU资源时,目标对象就会自动调用接口中的run()方法,因此,对于使用同一目标对象的线程,目标对象的成员变量自然就是线程共享的数据单元。下面的例子中,房屋就是... 查看详情

37道web前端开发面试题之javascript篇章!

ajax,跨域,jsonp参考:《JavaScript》高级程序设计第21章:Ajax和CometjQuery中Ajax操作apply和call的用法和区别:用法:都能继承另一个对象的方法和属性,区别在于参数列表不一样区别:Function.apply(obj,args)args是一个数组,作为参数传给FunctionFunc... 查看详情

ios经典面试题之深入解析objc对象的内存空间数据结构以及isa指针的理解(代码片段)

一、objc对象的isa的指针指向什么?有什么作用?isa等价于iskindof:实例对象isa指向类对象;类对象指isa向元类对象;元类对象的isa指向元类的基类;isa有两种类型:纯指针,指向内存地址;NON_PO... 查看详情