前端面试常见技术问题Word文件下载.docx

上传人:b****5 文档编号:15795842 上传时间:2022-11-16 格式:DOCX 页数:24 大小:39KB
下载 相关 举报
前端面试常见技术问题Word文件下载.docx_第1页
第1页 / 共24页
前端面试常见技术问题Word文件下载.docx_第2页
第2页 / 共24页
前端面试常见技术问题Word文件下载.docx_第3页
第3页 / 共24页
前端面试常见技术问题Word文件下载.docx_第4页
第4页 / 共24页
前端面试常见技术问题Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

前端面试常见技术问题Word文件下载.docx

《前端面试常见技术问题Word文件下载.docx》由会员分享,可在线阅读,更多相关《前端面试常见技术问题Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

前端面试常见技术问题Word文件下载.docx

3.bind和live的区别?

live方法其实是bind方法的变种,其基本功能就同bind方法的功能是一样的,都是为一个元素绑定某个事件,但是bind方法只能给当前存在的元素绑定事件,对于事后采用JS等方式新生成的元素无效,而live方法则正好弥补了bind方法的这个缺陷,它可以对后 

生成的元素也可以绑定相应的事件.

1.js和jq如何转换?

 

jQuery对象是通过jQuery包装DOM对象后产生的对象。

jQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;

例如:

$("

#img"

).attr("

src"

"

test.jpg"

);

这里的$("

)就是jQuery对象。

DOM对象就是Javascript固有的一些对象操作。

DOM对象能使用Javascript固有的方法,但是不能使用jQuery里的方法。

document.getElementById("

img"

).src=“test.jpg"

这里的document.getElementById("

)就是DOM对象。

和document.getElementById("

).src="

;

是等价的,是正确的,但是$("

或者document.getElementById("

都是错误的。

1.DOM对象转成jQuery对象

对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了,$(DOM对象)

如:

 varv=document.getElementById("

v"

//DOM对象

var$v=$(v);

//jQuery对象

转换后,就可以任意使用jQuery的方法。

2.jQuery对象转成DOM对象

两种转换方式讲一个jQuery对象转换成DOM对象:

[index]和.get(index);

(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

如:

var$v=$("

#v"

varv=$v[0];

//DOM对象

alert(v.checked);

//检测这个checkbox是否被选中

(2)jQuery本身提供,通过.get(index)方法得到相应的DOM对象

var 

$v=$("

varv=$v.get(0);

//DOM对象($v.get()[0]也可以)

//检测这个checkbox是否被选中

通过以上方法,可以任意的相互转换jQuery对象和DOM对象,需要再强调的是:

DOM对象才能使用DOM中的方法,jQuery对象是不可以使用DOM中的方法。

----------JS----------

1.给出一个数组如何去掉重复的项?

实现一个把数组里面的重复元素去除的方法:

主要的是Array的prototype的方法。

vararr=[1,3,5,3,6,9,1,2,2]

vararr=['

a'

'

b'

c'

ab'

bc'

]

functionremoveRepeat(arr){

vari,tmpArr=[];

for(iinarr){

if(tmpArr.join('

).indexOf(arr[i])==-1){

tmpArr.push(arr[i]);

}

}

returntmpArr;

varr=removeRepeat(arr);

console.log(r);

二.方法:

Array.prototype.unique=function(){

for(iinthis){

if(typeofthis[i]!

='

function'

){

).indexOf(this[i])==-1){

tmpArr.push(this[i]);

];

varr=arr.unique();

2.js如何实现面向对象?

varname='

ChenHao'

varemail='

haoel(@)'

varwebsite='

'

varchenhao={

  name:

'

  email:

  website:

};

//以成员的方式

chenhao.name;

chenhao.email;

chenhao.website;

//以hashmap的方式

chenhao["

name"

email"

website"

//我们可以看到,其用function来做class。

varPerson=function(name,email,website){

this.name=name;

this.email=email;

this.website=website;

this.sayHello=function(){

varhello="

Hello,I'

m"

+this.name+"

,\n"

+

"

myemailis:

+this.email+"

mywebsiteis:

+this.website;

alert(hello);

};

varchenhao=newPerson("

ChenHao"

"

haoel@"

"

chenhao.sayHello();

1.Javascript的数据和成员封装很简单。

没有类完全是对象操作。

纯动态!

2.Javascriptfunction中的this指针很关键,如果没有的话,那就是局部变量或局部函数。

去找最紧跟的上一个function。

3.Javascript对象成员函数可以在使用时临时声明,并把一个全局函数直接赋过去就好了。

4.Javascript的成员函数可以在实例上进行修改,也就是说不同实例相同函数名的行为不一定一样。

3.js如何实现继承?

定义一个Dog对象,并增加一个name属性,该属性可以在新建对象时通过参数传入

functionDog(name){

//通过原型方式扩展Dog对象

Dog.prototype={

//重新覆盖构造函数让其指向Dog

constructor:

Dog,

Wow:

function(){

console.group();

console.info("

Iam:

+this.name);

WangWang...."

console.groupEnd();

},

yelp:

this.Wow();

}

functionMadDog(name){

Dog.apply(this,[name]);

MadDog.prototype=newDog();

//重新覆盖构造函数,让其指向MadDog

MadDog.prototype.constructor=MadDog;

MadDog.prototype.yelp=function()

{

self=this;

setInterval(function(){

self.Wow();

},5000);

varxiaoXian=newDog("

xiaoXian"

xiaoXian.yelp();

varxiaoMang=newMadDog("

xiaoMang"

xiaoMang.yelp();

console.log(xiaoXian.constructor==xiaoMang.constructor);

4.如果扩展js中原生的String对象?

string的方法?

String.prototype.name=function(){}

Slice从字符串的第一个参数提取第二个参数,也可以截取数组。

返回的结果类型:

string/object

Substring从字符串的第一个参数提取第二个参数,返回的结果类型,string。

Indexof返回短字符串在长字符串出现的位置。

Lastindexof返回最后一个短字符串出现的位置。

Replace字符串的替换方法,

Split字符串分割方法,能转换为数组,数组转换字符串,用jion()方法。

5.document.ready()和window.onload的区别?

Document.ready()是jQuery中准备出发的事件,当加载到当前元素就执行了,

Window.onload是整个页面加载之后才执行。

5.闭包是什么?

闭包是有权访问另一个函数作用域中的变量的函数。

闭包是个函数,而它“记住了周围发生了什么”。

表现为由“一个函数”体中定义了“另一个函数”

“闭包”是一个表达式(一般是函数),它具有自由变量以及绑定这些变量的环境(该环境“封闭了”这个表达式)。

1.闭包有权访问函数内部的所有变量。

2.当函

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1