js奇葩

以下题目,实为杜撰,如有雷同,纯属抄袭

1-请选出正确的选项?(知识点:new、原型链、instanceof 、对象引用)

var a=function test(a){
		this.a=a;
   }
var b=function test(b){
	    this.b=b;
   }
var A=new a(1);
var B=new b(2);	
a.prototype={constructor:null};
b.prototype.constructor=null;	
console.log(A instanceof a);
console.log(B instanceof b);

输出分别是:
A:true  true 
B:false false
C:false true
D:true  false

2-以下代码会报错的是哪个?(知识点:底层解析对声明和表达式处理的区别、立即执行函数)


A:{"name","zhang"}.hasOwnProperty("name");
B: var a=function (){return;}();
C: !function aaa(){return;}();
D: function aaa(){return;}(1);

3-请选出正确的选项?(知识点:JavaScript参数按值传递、变量提升)

var a={"age":10};
function change(obj){
  b=obj;	
 obj.age=11;	
 obj={"age":12};
}
change(a);
console.log(a.age);
console.log(b.age);

输出分别是:
A:10 12
B:11 10
C:11 12
D:11 11

4-请选出正确的选项?(知识点:null 、 undefined 、一元运算转换、NAN)

console.log(+undefined==+null);
console.log(+null==+null);
console.log(+undefined==+undefined);
输出分别为
A: false  true  true
B:  true   true  true
C:  false  false true
D:  false  true  false

5-请选出正确的选项?(知识点:new 和 delete)

function deletePropertyA(name){
	this.name=name;
	delete this.name;
	var name=name;
    delete name;
	return name;
}
function deletePropertyB(name){
	this.name=name;
	delete this.name;
	var name=name;
    delete name;
	return {"name":name};
}	
console.log(new deletePropertyA("wang").name)
console.log(new deletePropertyB("wang").name)

输出分别为:
A: wang       undefined
B: undefined  undefined
C: wang       wang 
D: undefined  wang

6-请说出控制台输出是?(弄清楚js的new出来到底是什么)

var a=1;
var b={};
function A(){
  return a;
}
function B(){
  return  b;
}
console.log(new A() === new A());
console.log(new B() === new B());

 

转载于:https://my.oschina.net/u/3071114/blog/993862

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值