首页 > Web开发 > 详细

js面试相关

时间:2018-07-26 23:19:26      阅读:233      评论:0      收藏:0      [点我收藏+]

一,字符串

二,数值

三,函数

(1)函数定义

//函数声明
function sum(a,b){
    return a+b;
}

//函数表达式
var sum = function(a,b){
    return a+b;
}

//Function构造函数【这也是一个表达式,不建议使用,影响函数解析性能】、
var sum = new Function(‘a‘, ‘b‘, ‘return a+b‘)

(2)匿名函数与闭包

匿名函数:没有名字的函数

闭包:有权访问另一个函数作用域内的变量的函数。常见方式就是在一个函数内创建另一个函数。

闭包特点:
(1)返回函数中的变量的最后一个值(即return的值)
(2)闭包函数会一直留在内存中,直至销毁
(3)可用于创建私有变量

(3)this对象

this对象是在运行时基于函数的执行环境所决定的。

全局函数:this等于window

当函数作为某个对象的方法被调用的时候,this等于那个对象。

四,数组

五,对象

(1)js对象分类

参考:https://juejin.im/entry/58f85f87b123db006235e938

a,内部对象

Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、String以及各种错误类对象,包括Error、EvalError、RangeError、ReferenceError、SyntaxError和TypeError

b,内置对象: Global, Math

c,宿主对象

包括BOM对象和DOM对象

  • BOM 对象:window,location,navigator,screen,history
  • DOM 对象:Document,Body,Event,Form,Image,事件对象 event

d,自定义对象

就是开发人员自己定义的对象

六,面向对象

(1)继承

a,基本原理:利用原型让一个引用类型继承另一个引用类型的属性和方法

b,构造函数,原型,实例的关系

参考链接: https://github.com/mqyqingfeng/Blog/issues/2

(1)prototype原型属性
函数才会有的属性,prototype属性是一个指针,指向一个叫原型的对象
(2)原型
每一个js对象(除了null)在创建的时候就会有一个相关联的对象,叫原型
(3)__proto__
每一个js对象(除了null)都有的一个属性,叫__proto__,这个属性指向该对象的原型
(4)constructor构造器
每个原型都有一个constructor属性指向关联的构造函数
function Person(){}
var person = new Person();   //下图为构造函数,原型,实例之间的关系

       技术分享图片

(c)原型链

上图中形成了一个原型链,

person  -------__proto__-------Persion.prototype-------__proto__--------Object.prototype

(d)原型搜索机制

当以读取模式访问一个实例属性时,

首先,在实例中搜索该属性。(搜索person实例)若没有找到 ↓↓

其次,继续搜索该实例的原型(搜索Person.prototype),若没有找到 ↓↓

最后,直到搜索到原型链末端(搜索Object.Prototype)

(e)确定原型与实例之间的关系

//instanceof操作符
console.log(person instanceof Person); //true,即person是Persion的实例
console.log(Person instanceof Object);  //true

//isPrototypeOf()方法
console.log(Person.prototype.isPrototypeOf(person)); //true,即Person.prototype是person的原型
console.log(Object.prototype.isPrototypeOf(Person));  //true

 

js面试相关

原文:https://www.cnblogs.com/hiluna/p/9368784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!