1.事件委托是什么
符合W3C标准的事件绑定addEventLisntener /attachEvent
利用事件冒泡的原理,把自己的所触发的事件,让父元素代替执行!
2.闭包是什么,有什么特性,对页面有什么影响
闭包就是能够读取其他函数内部变量的函数。
闭包的缺点:滥用闭包函数会造成内存泄露,因为闭包中引用到的包裹函数中定义的变量都永远不会被释放,所以我们应该在必要的时候,及时释放这个闭包函数
3.如何阻止事件冒泡和默认事件
(1)阻止事件冒泡
e. stopPropagation();//标准浏览器
event.canceBubble=true;//ie9之前
(2)阻止默认事件
为了不让a点击之后跳转,我们就要给他的点击事件进行阻止
return false
e.preventDefault();
4.添加 删除 替换 插入到某个接点的方法
obj.appendChild()
obj.insertBefore() //原生的js中不提供insertAfter();
obj.replaceChild()//替换
obj.removeChild()//删除
5.javascript的本地对象,内置对象和宿主对象
本地对象为array obj regexp等可以new实例化
内置对象为gload Math 等不可以实例化的
宿主为浏览器自带的document,window 等
6.document load 和document ready的区别
(1)Document.onload 是在结构和样式加载完才执行js
(2)window.onload:不仅仅要在结构和样式加载完,还要执行完所有的样式、图片 这些资源文件,全部加载完才会触发window.onload事件
Document.ready原生中没有这个方法,jquery中有 $().ready(function)
7.”==”和“===”的不同
前者会自动转换类型,后者不会
1==”1” null==undefined 结果都为true(只比较值)
===先判断左右两边的数据类型,如果数据类型不一致,直接返回false
之后才会进行两边值的判断(比较类型和值)
8.javascript的同源策略
一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合
http,ftp:协议
主机名;localhost
端口名:80:http协议的默认端口
https:默认端口是8083
同源策略带来的麻烦:ajax在不同域名下的请求无法实现,
如果说想要请求其他来源的js文件,或者json数据,那么可以通过jsonp来解决
9.编写一个数组去重的方法
var arr=[1,1,3,4,2,4,7]
var arr1 = Array.from(new Set(arr))
console.log(arr1)
10.JavaScript是一门什么样的语言,它有哪些特点?
(1)运行环境:浏览器中的JS引擎(v8.。。)
(2)语言特性:面向对象,动态语言:
//动态语言的特性
var num=10;//num是一个数字类型 num="jim";//此时num又变成一个字符串类型 //我们把一个变量用来保存不同数据类型的语言称之为一个动态语言
//静态语言:c# java c c++
//静态语言在声明一个变量就已经确定了这个变量的数据类型, // 而且在任何时候都不可以改变他的数据类型
javaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript
(3)基本特点
1.是一种解释性脚本语言(代码不进行预编译)。
2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离
4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
网友评论