前端 > JS 笔试题面试考题(11-15)
- 说明正则表达式给所有string对象添加去除首尾空白符的方法(trim方法) ?
面试通过率:85.0%
推荐指数: ★★★ 试题难度: 初级 试题类型: 编程题
<script>
Object.prototype.trim = function(){
if(this.__proto__.constructor.name === 'String'){
// return this.valueOf().replace(/^\s+/,'').replace(/\s+$/, '');
return this.valueOf().replace(/^\s+|\s&/g,'')
}
};
let s = ' dd '
console.log(s.trim())
</script>
- 用 JavaScript实现一个提取电话号码的方法 ?
面试通过率:56.0%
推荐指数: ★★★ 试题难度: 中级 试题类型: 编程题
<script>
let tel = '15079507545\\17078577583';
function exec_tels(tel){
let reg = /1\d{10}/g;
let res = tel.matchAll(reg); // RegExpStringIterator {} 迭代器
let every_next = res.next(); // 先迭代一次
let arr = [];
while (every_next.done === false){ // 如果为true,则跳出循环,返回数组
arr.push(every_next.value[0]) // 把匹配的电话号码加入数组中
every_next = res.next(); //如果为false,再一次迭代
}
return arr;
}
let res = exec_tels(tel);
console.log(res)
</script>
-
JavaScript 运算3 + 2 + "7"的结果是什么?
面试通过率:50.0%
推荐指数: ★★★★ 试题难度: 中级 试题类型: 编程题
答案:57注:数据类型:字符串
-
简述下面的代码将输出什么到控制合?为什么?
function (){
var a= b= 3;
}();
console.log("a defined " + (typeof a !== 'undefined'));
console.log("b defined " + (typeof b !== 'undefined'));
面试通过率:54.0%
推荐指数: ★★★★★ 试题难度: 高难 试题类型: 编程题
// a defined false
// b defined true
- 下面的JavaScript代码将输出什么内容到控制台?
var myobject = {
foo: "bar",
func:function(){
var self = this;
console.log("outer func:this.foo =" + this.foo);
console.log("outer func:self.foo =" + self.foo);
(function(){
console.log("inner func:this.foo =" + this.foo);
console.log("inner func:self.foo =" + self.foo);
}());
}
}
myobject.func();
面试通过率:30.0%
推荐指数: ★★★★★ 试题难度: 高难 试题类型: 编程题
// outer func:this.foo =bar
// outer func:self.foo =bar
// inner func:this.foo =undefined
// inner func:self.foo =bar
// 解析:
// 在外部函数中,this和self都指向 myObject,因此两者都可以正确地引用和访问foo;
// 在内部函数中,this不再指向 myObject。结果是,this.foo没有在内部函数中定义,相反,指向到本地的变量seIf保持在范围内,并且可访问;