摘要:最后代码执行代码执行,,调用优先顺序成员访问带参数列表函数调用无参数列表查找一个字符串中指定字符出现的位置经典问题
1、 JavaScript中如何检测一个变量类型是String?请写出函数实现
//分析:String的两种创建方法:
//第一种方法:
var str = "str" //str只是一个以String为数据类型的值,但并不属于String对象的实例
//第二种方法:
var strObj = new String("strObj") //此时的strObj是String对象的一个实例
//针对第一种创建方式,采用typeof检测,此时采用instanceof != String
//针对第二种创建方式,采用instanceof检测,此时采用typeof检测出来的是Object
function isString(str){
return (typeof str).toLowerCase() === "string" || str instanceof String
}
2、原型和原型链经典题目
function Foo(){
getName = function(){ alert(1)}
}
Foo.getName = function(){alert(2)}
Foo.prototype.getName = function(alert(3))
var getName = function(){alert(4)}
function getName(){alert(5)}
//问题:请给出下面运行的结果
Foo.getname();
getName();
Foo().getName();
getName();
New Foo.getName();
new Foo().getName();
new new Foo().getName();
进入环境(代码未执行,已编译):
VO:{
Foo:{
getName:
return this
}
getName:
}
代码执行1:Foo.getName()
VO:{
Foo:{
,
getName:,
return this
},
getName:
}
代码执行2:Foo.prototype.getName = function(){alert(3)}
VO:{
Foo:{
getName:,
prototype:{
getName:
}
return this
}
getName:
}
代码执行3:var getName = function(){alert(4);};
VO:{
Foo:{
getName:,
prototype:{
getName:
}
return this
}
getName:
}
代码执行4:Foo.getName()
VO:{
Foo:{
getName:,
prototype:{
getName:
}
return this
}
getName:
}
代码执行5:getName() //2
代码执行6:Foo().getName()
Foo().getName() == window.getName()
//同时注意:这里由于Foo()调用,导致VO发生了变化。最后alert(1)
VO:{
Foo:{
getName:,
prototype:{
getName:
}
return this
}
getName:
}
代码执行7:getName() //1
代码执行8,9,10:
//调用优先顺序 成员访问 > new(带参数列表)>函数调用>new(无参数列表)3、this
var name = "the window"
var obje = {
name:"myObject",
getNameFunc:function(){
return function(){
return this.name
}
}
}
obje.getNameFunc()()
4、查找一个字符串中指定字符出现的位置
var stringValue = "lorem ipsum dolor sit amet ,consectent adipisicing elit"
var array = []
var pos = stringValue.indexOf("e")
while(pos > -1){
array.push(pos)
pos = stringValue.indexOf("e",++pos)
}
5、this经典问题
var a =1;
function foo(a,b){
a = 2;
console.log(a);
var a;
console.log(a);
arguments[0] = 3
console.log(a,this.a,b)
}
//2 //2 //2 1 undefined
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99612.html
摘要:收集的一些前端面试题从面试题发现不足,进而查漏补缺,比通过面试更难得及各大互联网公司前端笔试面试题篇及各大互联网公司前端笔试面试题篇面试题个和个经典面试题前端开发面试题如何面试前端工程师很重要个变态题解析如何通过饿了么面试轻 收集的一些前端面试题 从面试题发现不足,进而查漏补缺,比通过面试更难得 1 BAT及各大互联网公司2014前端笔试面试题--Html,Css篇 2 BAT...
摘要:收集的一些前端面试题从面试题发现不足,进而查漏补缺,比通过面试更难得及各大互联网公司前端笔试面试题篇及各大互联网公司前端笔试面试题篇面试题个和个经典面试题前端开发面试题如何面试前端工程师很重要个变态题解析如何通过饿了么面试轻 收集的一些前端面试题 从面试题发现不足,进而查漏补缺,比通过面试更难得 1 BAT及各大互联网公司2014前端笔试面试题--Html,Css篇 2 BAT...
摘要:获取的对象范围方法获取的是最终应用在元素上的所有属性对象即使没有代码,也会把默认的祖宗八代都显示出来而只能获取元素属性中的样式。因此对于一个光秃秃的元素,方法返回对象中属性值如果有就是据我测试不同环境结果可能有差异而就是。 花了很长时间整理的前端面试资源,喜欢请大家不要吝啬star~ 别只收藏,点个赞,点个star再走哈~ 持续更新中……,可以关注下github 项目地址 https:...
摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...
阅读 2286·2021-09-30 09:46
阅读 1548·2019-08-30 15:43
阅读 1338·2019-08-29 13:28
阅读 2152·2019-08-29 11:24
阅读 1923·2019-08-26 13:22
阅读 4353·2019-08-26 12:01
阅读 1998·2019-08-26 11:33
阅读 3394·2019-08-23 15:34