JS基础之一

1、javascript和typeof返回那种数据类型
object number function Boolean underfined string
typeof null;object
typeof null typeof isNaN typeof isNaN(123) typeof []
Array.isARRAY() toString.call([]) var arr=[]; arr.constructor;
2.列举3种强制类型转换和2种隐式类型转换
强制(parseInt,parseFloat,Number())
隐式(== ) 1==“1”//true null==underfined//true
3. split() join()的区别
前者是切割成数组的形式 后者是将数组转换成字符串
4数组方法pop() push() unshift() shift()
push()尾部添加 pop()尾部删除 Unshift()头部添加 shift()头部删除.
5.事件绑定和普通事件的区别
传统事件绑定和符合w3c标准的事件绑定有什么区别
d1.οnclick=function(){}shi

1、如果给同一个元素绑定了两次或者多次相同类型的事件,那么后面的绑定会覆盖前面的绑定
2.不支持DOM事件流, 事件捕捉阶段>目标元素阶段=>事件冒泡阶段
addEventListener
1、如果说给同一个元素绑定了两次或者多次相同类型的事件,所有的绑定将会依次触发
2、支持DOM事件流的
3、进行事件绑定传参不需要on前缀
addEventListner(“click” function(){}true)此时的事件是在事件冒泡阶段执行
事件绑定是指把事件注册到具体的元素之上,普通事件是指可以用来注册的事件
6.ie和DOM事件流的区别
1、执行顺序不一样
2、参数不一样
3、时间加不加on
4、this指向问题
ie9以前;attachEvent(“onclick”)、detachEvent(“onclick”)
ie9开始都是跟DOM事件流是一样的,都是addEventListener
7、ie和标准下有哪些兼容性的写法
var ev =ev|| window.event
document.documentElement.clientWidth||document.body.clientWidth
var target=ev.srcElement||ev.target
8.call和apply的区别
call和apply相同点:都是为了用一个本不属于一个对象的方法,让这个对象去执行
toString.call([],1,2,3)
toString.apply([],[1,2,3])
Object.call(this.obj1,obj2,obj3)
Object.apply(this,arguments)
9.b继承a的方法
继承的多种方式
function b(){}
b.protoototype=new a;
10、javaScript this 指针、闭包、作用域
this:指向调用上下文
闭包:内层作用域可以访问外层作用域的变量
作用域:定义一个函数就开辟了一个局部作用域,整个js执行环境有一个全局作用域
11、事件委托是什么
符合w3c标准的事件绑定addEventListener/attachEvent
让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行
12.闭包的特性和缺点,对页面的影响
闭包就是能够读取其他函数内部变量的函数
闭包的缺点:滥用闭包函数会造成内存泄漏,因为闭包中引用到的包裹函数中定义的变量都永远不会被释放,所以我们需要在合适的时候,及时释放这个闭包函数
13.如何阻止事件冒泡和默认事件
e.stopPropagation();//标准浏览器
event.canceBubble=true;//ie9之前
阻止默认事件:
为了不让a点击之后跳转,我们就要给他的点击事件进行阻止
return false
e.preventDefault();
14.添加删除替换 插入到某个接点的方法
obj.appendChild();
obj.insertBefore();
obj.repalceChild();//替换
obj.removeChild();//删除
15、javascript的本地对象,内置对象和宿主对象
本地对象为array obj rerexp等可以new实例化
内置对象为gload Math等都不可以实例化
宿主为浏览器自带的document,window等
16.doucment load和document ready的区别
Document.onload 是在结构和样式加载后才执行js

window.onload:不仅仅要在结构和样式加载完,还要执行所有的样式,图片这些资源文件,全部加载完才会触发window.onload事件
Document.ready 原生中没有这个方法,jquery中有$().ready(function)
17.js的同源策略
一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合
http,ftp:协议
主机名:localhost 端口号:8 同源策略带来的麻烦:ajax在不在0:http协议的默认端口 https:默认端口是8083 同域名下的请求无法实现,如果想要请求其他来源的js文件,或者json数据,那么可以通过jsonp来解决
18.编写一个数组去重的方法
var arr=[1,1,3,4,2,4,7];
=>[1,3,4,2,7]
简单的实现方法:
1、先创建一个空数组,用来保存最终的结果
2、循环原数组的每个元素
3、在对每个元素进行二次循环,判断是否有与之相同的元素,如果没有,将把这个元素放到新数组中
4、返回这个新数组
function oSort(arr){
var result =[];
var newArr=[];
for(var i=0;i<arr.length;i++){
if(!result=[arr]){//数组的判空
newArr.push(arr)//非空的情况下读取数组result的元素放到新数组newArr
result[arr]=1
}
}
return newArr
}
19.js的数据类型
基本数据类型:String Boolean number unserfined Object Null
引用数据类型:Object(Array ,Data,RegExp,Function)
20.已知id的输入框,希望获取这个输入框的值,怎么做
document.getElementById(“ID”).value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值