对接雅虎为什么不能进的游戏SDK时无法解析innerHTML

CSS3有哪些新特性

介绍js的基本数据類型。

如何创建一个对象? (画出此对象的内存图)


谈谈This对象的理解

this是js的一个关键字,随着函数使用场合不同this的值会发生变化。

但是有┅个总原则那就是this指的是调用函数的那个对象。

this一般情况下:是全局对象Global 作为方法调用,那么this就是指这个对象


事件是IE与火狐的事件機制有什么区别? 如何阻止冒泡

1. 我们在网页中的某个操作(有的操作对应多个事件)。例如:当我们点击一个按钮就会产生一个事件昰可以被 JavaScript 侦测到的行为。
2. 事件处理机制:IE是事件冒泡、火狐是 事件捕获;


什么是闭包(closure)为什么要用它?

执行say667()后,say667()闭包内部变量会存在,而閉包内部函数的内部变量不会存在.使得Javascript的垃圾回收机制GC不会收回say667()所占用的资源因为say667()的内部函数的执行需要依赖say667()中的变量。这是对闭包作鼡的非常直白的描述.

如何判断一个对象是否属于某个类

new操作符具体干了什么呢?

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

js延迟加载的方式有哪些?

defer和async、动態创建DOM方式(用得最多)、按需异步载入js

立即执行函数,不暴露私有成员

异步加载的方式有哪些

innerHTML可以重绘页面的一部分

注意:js 中的函数其實是对象,函数名是对 Function 对象的引用

*jQuery是一个js库,主要提供的功能是选择器属性修改和事件绑定等等。

提供了一些常用的界面元素诸如對话框、拖动行为、改变大小行为等等

jQuery中没有提供这个功能,所以你需要先编写两个jQuery的扩展:

*基于Class的选择性的性能相对于Id选择器开销很大因为需遍历所有DOM元素。


那些操作会造成内存泄漏
内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。
垃圾回收器定期扫描对象并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象)或对该对象的惟一引用是循环嘚,那么该对象的内存即可回收

setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏
闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)

如何判断当前脚本运行在浏览器还是node环境中(阿里)

通过判断Global对象是否为window,如果不为window当前脚夲没有运行在浏览器中


对Node的优点和缺点提出了自己的看法?

*(优点)因为Node是基于事件驱动和无阻塞的所以非常适合处理并发请求,
因此構建在Node上的代理服务器相比其他技术实现(如Ruby)的服务器表现要好得多
此外,与Node代理服务器交互的客户端代码是由javascript语言编写的
因此客戶端和服务器端都用同一种语言编写,这是非常美妙的事情

*(缺点)Node是一个相对新的开源项目,所以不太稳定它总是一直在变,
而且缺少足够多的第三方库支持看起来,就像是Ruby/Rails当年的样子

你有哪些性能优化的方法?

(看雅虎为什么不能进14条性能优化原则)

(1) 减尐http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管data缓存 ,图片服务器

(2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费前端用变量保存AJAX请求结果,每次操作本地变量不用请求,减少请求次数

(4) 当需要设置的样式很多时设置className而不是直接操作style

(5) 少用全局變量、缓存DOM节点查找的结果。减少IO读取操作

(7) 图片预加载,将样式表放在顶部将脚本放在底部 加上时间戳。

(8) 避免在页面的主体咘局中使用tabletable要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢
对普通的网站有一个统一的思路,就是尽量向前端优化、减少數据库操作、减少磁盘IO向前端优化指的是,在不影响功能和体验的情况下能在浏览器执行的不要在服务端执行,能在缓存服务器上直接返回的不要到应用服务器程序能直接取得的结果不要到外部取得,本机内能取得的数据不要到远程取内存能取到的不要到磁盘取,緩存中有的不要去数据库查询减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join查询),减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等程序优化永远要优化慢的部分,换语言是无法“优化”嘚


http状态码有那些?分别代表是什么意思

100-199 用于指定客户端应相应的某些动作。
200-299 用于表示请求成功
300-399 用于已经移动的文件并且常被包含在萣位头信息中指定新的地址信息。
400-499 用于指出客户端的错误400 1、语义有误,当前请求无法被服务器理解401 当前请求需要用户验证 403 服务器已经悝解请求,但是拒绝执行它
500-599 用于支持服务器错误。 503 – 服务不可用

一个页面从输入 URL 到页面加载显示完成这个过程中都发生了什么?(流程说的越详细越好)

DNS解析、查找该域名对应的IP地址、重定向(301)、发出第二个GET请求
客户端发送报头(请求报头)
服务器回馈报头(响应报头)
文档樹建立根据标记请求所需指定MIME类型的文件
浏览器这边做的工作大致分为以下几步:

加载:根据请求的URL进行域名解析,向服务器发起请求接收文件(HTML、JS、CSS、图象等)。

解析:对加载到的资源(HTML、JS、CSS等)进行语法解析建议相应的内部数据结构(比如HTML的DOM树,JS的(对象)属性表CSS的样式规则等等)

现在关注的只是其中的一个构造函数 就是下面这个


完全不一样。在这里他是把数字转换成了 stonewt对象我不理解数字怎么能转换成对象

我要回帖

更多关于 雅虎 的文章

 

随机推荐