前端面试问题记录
来源:互联网 发布:js执行按钮点击事件 编辑:程序博客网 时间:2024/04/30 11:07
1.说明一下闭包:JS函数对象的内部状态不仅包含函数的代码逻辑,还必须引用当前的作用域链。函数对象可以通过作用域链关联起来,函数体内部的变量都可以保存在函数作用域内。
所有的JS函数都是闭包:它们都是对象,它们都关联到作用域链
2.为什么要用闭包
1)保护函数内的变量安全。
2)在内存中维持一个变量。
3.JS与native数据如何传递
phonegap
4.如何解决ajax跨域问题
jQuery的ajax有jsonp这样的属性可以用来解决跨域的问题。
http://www.cnblogs.com/sunxucool/p/3433992.html
5.什么是jsonp格式。
jsonp比json外面有多了一层,callback()。
JSONP全称应该是“JSON with padding”吧,它正是利用了<script />可以跨域请求的特性。简单来说JSONP就是在客户端将要用来处理请求结果的函数名作为参数传递给服务器端,然服务器端将请求结果数据作为参数包装在这个函数中 并返回给客户端执行。
6.URL不变,单页面局部刷新的原理?
ajax异步请求
7.事件冒泡是怎么回事?
事件冒泡(event bubbling)的事件流:事件冒泡可以形象地比喻为把一颗石头投入水中,泡泡会一直从水底冒出水面。也就是说,事件会从最内层的元素开始发生,一直向上传播,直到document对象。
事件捕获(event capturing):与事件冒泡相反,事件会从最外层开始发生,直到最具体的元素。
上面的例子在事件捕获的概念下发生click事件的顺序应该是document -> html -> body -> div -> p
8.H5中的data是何作用?
HTML 5 增加了一项新功能是 自定义数据属性 ,也就是 data-* 自定义属性。在HTML5中我们可以使用以 data- 为前缀来设置我们需要的自定义属性,来进行一些数据的存放。当然高级浏览器下可通过脚本进行定义和数据存取。在项目实践中非常有用。
<
div
id = "user" data-uid = "12345" data-uname = "愚人码头" > </
div
>
使用attribute方法存取 data-* 自定义属性的值
使用attributes方法存取 data-* 自定义属性的值非常方便:
// 使用getAttribute获取 data- 属性
var
user = document . getElementById (
'user'
) ;
var
userName = plant . getAttribute (
'data-uname'
) ;
// userName = '愚人码头'
var
userId = plant . getAttribute (
'data-uid'
) ;
// userId = '12345'
// 使用setAttribute设置 data- 属性
user . setAttribute (
'data-site'
,
'http://www.css88.com'
) ;
9.说明下jQuery的代理
利用冒泡的原理,把事件加到父级上,触发执行效果。
- 前端面试问题记录
- 百度前端面试记录
- 记录前端面试
- 面试记录1---前端开发
- 鹅厂前端面试记录
- 前端工程师面试问题
- 前端工程师面试问题
- 前端面试问题小结
- 前端工作面试问题
- 前端面试问题集锦
- 前端面试问题(二)
- 前端面试问题大全
- 前端工作面试问题
- 前端面试问题三
- 前端面试问题
- 前端面试问题三
- 前端面试问题汇总
- 前端面试问题
- C# 生成二维码
- js延迟加载
- 使用数组实现的自定义栈结构
- 关于 OS X 应用的设计
- UITableView 频繁刷新 闪屏现象及解决方法
- 前端面试问题记录
- OpenCV CvMat数据结构参数
- UI - TargetAction模式
- Gamma的完全理解
- android oom 全解析
- 深入理解Android之设备加密Device Encryption
- 顺时针打印数组
- POJ 2318 TOYS
- gearman消息发送示例