JavaScript(JS)常问的高频面试题

一.CSS中link和@import的区别是?

(1).link属于HTML的标签,而@importCSS提供的。
(2).页面加载时,link会被同时加载,而@import引用的CSS会等到页面被加载完再加载。
(3).import只是IE5上才能识别,而link是HTML标签没有兼容问题

二.如何实现浏览器内多个标签页之间的通信?

调用localstorge,cookies等本地存储方式

三.new操作符具体干了什么?

1.创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型
2.属性和方法被加入到this引用对象中
3.新创建的对象由this所引用,并且最后隐式的返回this

四document.write和innerHTML的区别

1.document.write只能重绘整个页面
2.innerHTML可以重绘页面的一部分

五.什么叫优雅降级和渐进增强?

1.优雅降级:站点在所有新式浏览器中都能正
常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作.由于IE独特的盒模型布局问题,针对不同版本的IE的Hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效。
2.渐进增强∶从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。

六.你有哪些性能优化的方法

1.减少http请求次数:css sprites,Js、CSS源码
压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存,图片服务器
2.前端模板JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJA×请求结果,每次操作本地变量,不用请求,减少请求次数
3.用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能
4.当需要设置的样式很多时设置className而不是直接操作style
5.少用全局变量、缓存DOM节点查找的结果。减少IO读取操作
6.避免使用CSS Expression (css表达式)又称
Dynamic properties(动态属性)
7.图片预加载,将样式表放在顶部,将脚本放在底部,加上时间戳

七.JavaScript对象的几种创建方式

1.工厂模式
2.构造函数模式
3.原型模式
4.混合构造函数和原型模式
5.动态原型模式
6.寄生构造函数模式
7.稳妥构造函数模式

八.JavaScript的继承的六种方法

1.原型链继承
2.借用构造函数继承
3.组合继承(原型+借用构造)
4.原型式继承
5.寄生式继承
6.寄生组合式继承

九.AJAX的过程是怎样的?

1.创建XMLHttpRequest对象,也就是创建一个异步调用对象
2.创建一个新的Http请求,并指定该http请求的方法,URl及验证信息
3.设置响应HTTP请求状态变化的函数
4…发送http请求
5.获取异步调用返回的数据
6.使用JavaScript和DOM实现布局刷新
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值