博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js部分基础
阅读量:6515 次
发布时间:2019-06-24

本文共 1675 字,大约阅读时间需要 5 分钟。

1.js的基本类型有哪些?引用类型有哪些?null和undefined的区别。

  基础类型:number,null,regex,string,boolean  引用类型 : object,function,array    null是数据类型,undefined未定义

  

2.如何判断一个变量是Array类型?

  array:Object.prototype.toString.call(obj)  [object Array]

  

3.引用类型和基本类型的区别

  引用类型:堆内存,是二级缓存,保存一个指针,指向另一个内存,如果程序不结束或者没有手动释放,则不释放  基本类型:栈内存,是一级缓存,由系统分配或者释放。

  

4.事件委托(手写例子)

  

5.对闭包的理解,闭包的优缺点?

  闭包:一个可以让外部访问的函数。消耗内存

  

6.改变this的几种方法?

  call , apply , bind

  

7.显式和隐式原型

  显式原型:prototype , Function是一个Object,Function有一个属性prototype,它是一个指针,指向一个对象。这个对象有construsctor属性  隐式原型:_proto_ ,指向创建这个对象的函数的prototype,一个指针指向一个对象。

  

8.创建对象的多种方式

//字面量var obj = {name:'test'}//构造函数var obj = new Object({name:''})

  

9.实现继承的多种方式和优缺点

//原型链function Parent(){   this.name=''  }function Son(){}Son.prototype = new Parent()//创建新对象var son = Object.create(new Parent())//call,applyfunction Son(){   Parent.call(this,'')} //es6 class Son extends Person{}

  

10.变量提升

    var  value = 1;  var  test  =  function(){    console.log(value)    var value =  2;  }  test()  function test(){    console.log(value+1)  }  test();         // undefined , undefined

  

11.匿名函数

(function(){    alert('test')})()

  

12.NaN != NaN,false != null

 

13.new 一个对象的过程

function ClassName (option){    console.log(option)  }ClassName.prototype.say=function(){}let obj = new ClassName({})1.创建一个对象,传入原型 lo = Object.create(ClassName.prototype) 2.执行当前函数,并且this执行 newObj = ClassName.call(o)3. 返回新的对象 newObj

  

 14.实现一个bing函数

//bings函数Function.prototype.binds = function () {    var args = [].slice.call(arguments,1),target = arguments[0]    return this.apply(target,args)}function tesa(a,b) {    console.log(this,a+b)    return a+b}console.log(tesa.binds({a:1},1,2))

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

转载地址:http://uflfo.baihongyu.com/

你可能感兴趣的文章
PHP函数
查看>>
PHP 静态
查看>>
Jms学习篇二:ActiveMQ
查看>>
Spring的lazy-init详解
查看>>
factory工厂的创建
查看>>
第三章:垃圾回收器-年轻代收集器
查看>>
教你50招提升ASP.NET性能(二十):认识你的循环
查看>>
【Qt Tips】QLineEdit内容过滤之setValidator和setInputMask浅析
查看>>
个人作业1——四则运算题目生成程序(基于控制台)
查看>>
Catalyst揭秘 Day6 Physical plan解析
查看>>
嵌入式软件静态解析工具-CasePlayer2
查看>>
vc实现非标题栏窗口拖动
查看>>
[BZOJ 3622]已经没有什么好害怕的了(Dp+容斥原理)
查看>>
tar排除指定目录打包
查看>>
nodejs升级
查看>>
3.4Python数据处理篇之Numpy系列(四)---ndarray 数组的运算
查看>>
openLayers地图缩放的回调
查看>>
Java中的String类的学习
查看>>
机器学习——贝叶斯分类算法详解
查看>>
rockchip的RK3399硬解码总结
查看>>