第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

前端常見(jiàn)面試題總結(jié)part2

標(biāo)簽:
Html5 JavaScript 面試

今天总结了几道,感觉非常有意思的题,有感兴趣的可以看下~
(答案在最后)
1.
考察自执行函数的this指向
审题要细心

	var n = 2,
		obj = {
			n:2,
			fn:(function(n){
				n*=2;
				this.n+=2;
				console.log(this.n);
				console.log(window.n);
				return function(m){
					this.n*=2;
					console.log(m+(++n))
				}
			}(n)
		};
	var fn = obj.fn;
	fn(3);
	obj.fn(3)
	console.log(n,obj.n);
  1. prototype:原型属性
    _proto_: 原型链属性
    hasOwnProperty:检测属性是否属于当前对象私有属性
	function Fn() {
            var n = 100;
            this.AA = function () { }
            this.BB = function () { }
        }
        Fn.prototype.AA = function () { }
        var f1 = new Fn();
        var f2 = new Fn;
        console.log(f1.n);
        console.log(f1.AA === f2.AA);
        console.log(f1.__proto__.AA === f2.AA)
        console.log(f1.__proto__.AA === f2.__proto__.AA)
        console.log(f1.__proto_.AA === Fn.prototype.AA)
        console.log(f1.hasOwnProperty('AA') === Fn.prototype.hasOwnProperty('AA'));
  1. 比较简单的一道题
    	console.log(a);
    	a = 20;
    	function fn(){
    		console.log(a)
    		var a = 12;
    	}
    	fn();
    	console.log(a)
    
  2. 考察变量提升
    	var  foo = 1;
    	function fn(){
    		if(!foo){
    			var foo = 12;
    		}
    		console.log(foo);
    	}
    	fn();
    
  1. 函数形参变量和arguments存在映射
    函数默认返回undefined
    	var a = 4;
    	function test(x,y,a){
    		console.log(a);
    		arguments[2] = 100;
    		console.log(a)
    	}
    	a = test(1,2,3);
    	console.log(a)
    
  2. 函数形参变量和arguments映射建立在函数执行形参赋值的一刻
    形参和实参一一对应,多出来的不建立映射
    	function fn(x,y){
    		var arg = arguments;
    		arg[0] = 100;
    		var y = 200;
    		arg[1] = 300;
    		console.log(y);
    	}
    	fn(20);		
    
  3. 逻辑与 逻辑或
	console.log(0||1&&2||0||3&&2||1)
  1. 还是考察this
	var num = 10;
	var obj = {num:20};
	obj.fn = (function(num){
		num = this.num + 10;
		this.num = num + 10;
		return function(){
			this.num += ++num;
		}
	})(num)
	var fn = obj.fn;
	fn();
	obj.fn();
	console.log(num,obj.num)
  1. 很长的一段
    	function Fn(){
    		this.x = 100;
    		this.y = 200;
    		this.getX = function(){
    			console.log(this.x)
    		}
    	}
    	Fn.prototype.getX = function(){
    		console.log(this.x)
    	}
    	Fn.prototype.getY = function(){
    		console.log(this.y)
    	}
    	var f1 = new Fn;
    	var f2 = new Fn;
    	console.log(f1.getX === f2.getX);
    	console.log(f1.getY === f2.getY);
    	console.log(f1.__proto__getY === Fn.prototype.getY);
    	console.log(f1.__proto__.getX === f2.getX);
    	console.log(f1.getX === Fn.prototype.getX);
    	console.log(f1.constructor);
    	console.log(Fn.prototype.__proto__.constructor);
    	f1.getX();
    	f1.__proto__.getX();
    	f2.getY();
    	Fn.prototype.getY();
    
    10)还是this得问题(发现了好多this的题)
    	var name = 'window';
    	var Tom = {
    		name:'Tom',
    		show:function(){
    			console.log(this.name)
    		},
    		wait:function(){
    		var fun = this.show;
    		fun();
    		}
    	}
    	Tom.wait();
    

答案:

  1. 9
    10
    8 6
  2. undefined
    false
    false
    true
    true
    true
  3. a is not defined
  4. 12
  5. 3
    100
    undefined
  6. 200
  7. 2(逻辑与的优先级高于逻辑或)
  8. 51 42
  9. false
    true
    true
    false
    false
    Fn
    Object
    100
    undefined;this:f1.proto ,上面没有x,所以是undefined
    200
    undefined;this:Fn.prototype,上面没有y,所以是undefined
  10. window
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消