你平时是如何js的优化?
答:1、不要使用全局变量。
2、不要使用with语句;
3、尽量少使用闭包;
4、数组中不要嵌套太多;
5、少用for-in循环;
6、最好用js包含文件,且尽量放在最下面;
7、该dom节点样式时尽量用class。 new操作符具体干了什么呢? 答:1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。2、属性和方法被加入到 this 引用的对象中。 3、新创建的对象由 this 所引用,并且最后隐式的返回 this 。 ui-router 和 ng-router区别? 答:AngularJS的ng-route模块为控制器和视图提供了[Deep-Linking]URL,ui-router的核心理念是将子视图集合抽象为一个状态机,导航意味着 状态的切换。 看过Angular的源码吗,它是怎么实现双向数据绑定的? angular对常用的dom事件,xhr事件等做了封装, 在里面触发进入angular的digest流程。 在digest流程里面, 会从rootscope开始遍历,检查所有watcher 解释一下ng-bind? ng-bind 指令告诉 AngularJS 使用给定的变量或表达式的值来替换HTML 元素的内容。如果给定的变量或表达式修改了,指定替换的 HTML 元素也会修改。 react中prop和state的区别? 需要理解的是,props是一个父组件传递给子组件的数据流,这个数据流可以一直传递到子孙组件。而state代表的是一个组件内部自身的状态(可以是父组件、子孙组件)。 什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。 行内元素有哪些?块级元素有哪些?CSS的盒模型? 行内元素有:a b span I b em img input select strong 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p 盒模型:margin border padding width 对Node的优点和缺点提出了自己的看法? (优点)因为Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求,因此构建在Node上的代理服务器相比其他技术实现(如Ruby)的服务器表现要好得多。 此外,与Node代理服务器交互的客户端代码是由javascript语言编写的,因此客户端和服务器端都用同一种语言编写,这是非常美妙的事情。 (缺点)Node是一个相对新的开源项目,所以不太稳定,它总是一直在变,而且缺少足够多的第三方库支持。看起来,就像是Ruby/Rails当年的样子。 js延迟加载的方式有哪些? defer和async、动态创建DOM方式(用得最多)、按需异步载入 JSON 的了解? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小 {'age':'12', 'name':'back'} 说一下你理解的事件委托方法 问题说明:IE下,使用document.body.onload = inject; 其中function inject()在这之前已被实现;在Firefox下,使用document.body.onload = inject(); 解决方法:统一使用document.body.onload=newFunction(’inject()’); 或者document.body.onload =function()
|