个人面试整理参考

2016-08-18  本文已影响0人  myfocus

这一篇呢比较杂乱 前面编号的是我自己整理的答案可能不是很准确,题目是朋友同学面试后整理的

然后下边的是W3Cfuncs 上面整理的一片博客(好像找不到了,汗(⊙﹏⊙)b),我面试的时候也起到了一定的作用。

转载请注明地址

谢谢

1、js的typeof返回哪些数据类型

其中js是阻塞式的加载,浏览器在加载js时,当浏览器在执行js代码时,不会做其他的事情,即的每次出现都会让页面等待脚本的解析和执行,js代码执行后,才会继续渲染页面。新一代浏览器虽然支持并行下载。但是js下载仍会阻塞其他资源的下载(比如图片)。所以应该把js放到页面的底部。

===js的优化:

1.要使用高效的选择器。

2.将选择器保存为局部变量

3.先操作再显示

====跨域:

协议,域名,端口号有一个不同就被称为跨域

====http与https:

====prototype与__proto__

(http://www.cnblogs.com/snandy/archive/2012/09/01/2664134.html)

prototype:每一个函数对象都有一个显示的prototype属性,它代表了对象的原型

__proto__:内部原型(IE6/7/8/9不支持),每个对象都有一个名为__proto__的内部隐藏属性,指向于它所对应的原型对象,

IE9中可以使用Object.getPrototypeOf(obj)获取对象的内部原型;

[原型链是基于__proto__才得以形成]

所有对象__proto__都指向其构造器的prototype,包括自定义的构造器

[注意:构造器可以直接用构造器的名字,也可以用实例对象的constructor属性获得]

var obj = {name: 'jack'}

var arr = [1,2,3]

var reg = /hello/g

var date = new Date

var err = new Error('exception')

//自定义一个构造器

function Person(name) {

this.name = name

}

var p = new Person('jack');

obj.__proto__ === Object.prototype // true

obj.__proto__ === obj.constructor.prototype // true

arr.__proto__ === Array.prototype  // true

reg.__proto__ === RegExp.prototype // true

date.__proto__ === Date.prototype  // true

err.__proto__ === Error.prototype  // true

p.__proto__ === Person.prototype  // true

p.__proto__ === p.constructor.prototype  // true

可以看到p.__proto__与Person.prototype,p.constructor.prototype都是恒等的,即都指向同一个对象。

====作用域与作用域链

====模块化

===跳出循环体

break:跳出最内层循环或者退出一个switch语句

continue:跳出当前循环继续下一个循环

return:跳出循环,即使函数主体中还有其他语句,函数执行也会停止

上一篇下一篇

猜你喜欢

热点阅读