Naiteluo

home

一些觉得比较有用的JavaScript题目

22 Sep 2012

关于全局变量局部变量的四道小题目

写出以下各段代码的运行结果。

		var a = 10;
		sayHi();
		function sayHi() {
			var a = 20;
			alert(a);
		}
		alert(a);
		
		var a = 10;
		sayHi();
		function sayHi() {
			a = 20;
			alert(a);
		}
		alert(a);
		
		var a = 10;
		sayHi();
		function sayHi() {
			a = a + 10;
			alert(a);
			return a;
		}
		alert(a);
		alert(sayHi() + 10);
		
		var a = 10;
		sayHi();
		function sayHi() {
			var a = a + 10;
			alert(a);
			return a;
		}
		alert(a);
		alert(sayHi() + 10);
		

摘自四道JavaScript面试题检测你的js基本功

三道搜狐的面试题

		var each = function(obj, fn){
			//+++++++++++答题区域+++++++++++
			
			//+++++++++++答题结束+++++++++++
		};
		
		try{
			var data1 = [4,5,6,7,8,9,10,11,12];
			var data2 = {
			"a": 4,
			"b": 5,
			"c": 6
			};
			
			console.group(data1);
			
			each(data1, function(o){
				if( 6 == this )
					return true;
				else if( 8 == this )
					return false;
				console.log(o + ": \"" + this + "\"");
			});
			
			console.groupEnd();
			
			/*------[执行结果]------
			
			1: "4"
			2: "5"
			4: "7"
			
			------------------*/
			
			console.group(data2);
			
			each(data2, function(v, n){
				if( 5 == this )
					return true;
				console.log(n + ": \"" + v + "\"");
			});
			
			console.groupEnd();
			
			/*------[执行结果]------
			
			a: "4"
			c: "6"
			
			------------------*/
		
		}catch(e){
			console.error("执行出错,错误信息: " + e);
		}
		
		var Man;
		//+++++++++++答题区域+++++++++++
		
		//+++++++++++答题结束+++++++++++
		
		try{
		
	        var me = Man({ fullname: "小红" });
	        var she = new Man({ fullname: "小红" });
	
	        console.group();
	        console.info("我的名字是:" + me.attr("fullname") + "\n我的性别是:" + me.attr("gender"));
	        console.groupEnd();
	        /*------[执行结果]------
	
	        我的名字是:小红
	        我的性别是:<用户未输入>
	
	        ------------------*/
	
	        me.attr("fullname", "小明");
	        me.attr("gender", "");
	        me.fullname = "废柴";
	        me.gender = "人妖";
	        she.attr("gender", "");
	
	        console.group();
	        console.info("我的名字是:" + me.attr("fullname") + "\n我的性别是:" + me.attr("gender"));
	        console.groupEnd();
	        /*------[执行结果]------
	
	        我的名字是:小明
	        我的性别是:男
	
	        ------------------*/
	
	        console.group();
	        console.info("我的名字是:" + she.attr("fullname") + "\n我的性别是:" + she.attr("gender"));
	        console.groupEnd();
	        /*------[执行结果]------
	
	        我的名字是:小红
	        我的性别是:女
	
	        ------------------*/
	
	        me.attr({
	                "words-limit": 3,
	                "words-emote": "微笑"
	        });
	        me.words("我喜欢看视频。");
	        me.words("我们的办公室太漂亮了。");
	        me.words("视频里美女真多!");
	        me.words("我平时都看优酷!");
	
	        console.group();
	        console.log(me.say());
	        /*------[执行结果]------
	
	        小明微笑:"我喜欢看视频。我们的办公室太漂亮了。视频里美女真多!"
	
	        ------------------*/
	
	        me.attr({
	                "words-limit": 2,
	                "words-emote": ""
	        });
	
	        console.log(me.say());
	        console.groupEnd();
	        /*------[执行结果]------
	
	        小明喊:"我喜欢看视频。我们的办公室太漂亮了。"
	
	        ------------------*/
		
		}catch(e){
	        console.error("执行出错,错误信息: " + e);
		}
		
		function urlParser(s){
	        //+++++++++++答题区域+++++++++++
	
	        //+++++++++++答题结束+++++++++++
		}
		
		try{
	        var url1 = "http://www.abc.com/m/s/#page/2/?type=latest_videos&page_size=20";
	        var url2 = "http://www.abc.com/m/s/#type=latest_videos&page_size=20";
	        var url3 = "http://www.abc.com/m/s/#page?type=latest_videos&page_size=20";
	
	        console.group();
	        console.info( urlParser(url1) );
	        console.info( urlParser(url2) );
	        console.info( urlParser(url3) );
	        console.groupEnd();
	        /*------[执行结果]------
	
	        ["page", "2", { "type": "latest_videos", "page_size": 20 }]
	        [{ "type": "latest_videos", "page_size": 20 }]
	        ["page", { "type": "latest_videos", "page_size": 20 }]
	
	        ------------------*/
		
		}catch(e){
	        console.error("执行出错,错误信息: " + e);
		}
		

摘自搜狐JavaScript面试题

人人网javascript面试题

要求,使用原生代码,不使用任何框架。第五题选做。(论坛中说这是社会招聘的题目,时间为一周)

摘自这里,里面有图。