2021-01-03JavaScript基础笔试题笔记

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
		   
		</style>
	</head>
	<body>
		
	</body>
	<script type="text/javascript">
	   //JavaScript 基础阶段测试题1
	   //1. 3 + 4 + 5 + 6 = 18 b
	   //2. arr.sort(function(a,b){g
	  // 	  return a.age - b.age
	  // })

	    // var a = b = 10; //var window.a = 10   
	    // (function(){
     
	    //     var a = b = 20
	    // })();
	    // console.log(b);  b =20//闭包可以调用的一个变量   object.b = 20
	    // console.log(a);  a = 10
	    // var a = 10; //var window.a  = 10   
	    // var b = 10;
	    // (function(){
     
	    //     var a = 20
	    //     var b = 20
	    // })();
	    // console.log(b);  b = 10//闭包可以调用的一个变量   object.b = 20
	    // console.log(a);  a = 10

	    //自执行  不是function开头 ()结尾  我们也可以叫闭包
	    //闭包就是函数套函数  作用就是使外部可以使用内部的变量 windown除外
	    //全局变量 其实省略 window.a 

	     // var a = 888;
		    // ++a; // a+1  889
		    // alert(a++);//++a 先加载算 a++先算在加

		    // var i = 0,j = 0;
		    // for(;i<10,j<6;i++,j++){ //j<6 截止了
		    // 	console.log('i',i)
		    // 	console.log('j',j)
		    //     k = i + j; //0 0   1 1   22  33  44  55
		    // }

		//     var x = 1;
		//      function fn(n){
     
		//      	n = n+1
		// 		 return n
		//      }; 
		//      y = fn(x); 
		// 	 console.log(y)
		//     //console.log( [1,2,3,4].join('0').split(''))
		//    // 1020304  [1,0,2,0,3,0,4]
 
		//      function fn1() {
     
		//         alert(1);
		//     }
		//     fn1() // 1

		//     alert(  fn1() ); //1 undefind

		     //    console.log(fn1)
		     //    fn1();  //这么写  找不到这个函数
    			// var fn1 = function(a){ //a 形参  undefined
    			// 	alert(a); 
    			// }
    			fn2()
    			function fn2(){
                          
    				alert(1)
    			}
    			//总结: 变量被赋值个函数  由于变量有变量提升  这个函数是找不到的  
    			//

    	   // var n = "miao wei ke tang".indexOf("wei",6)//从6开始数
    	   // console.log(n)\

    	   // console.log('abcdef'.substring(3,-1))   //substring  不能为负数
    	   // console.log('abcdef'.slice(3,-1))   //de  可以 -1 代表最后一个字符
    	   // console.log('abcdef'.substr(-5,2))   //substr  不可以  后面参数个数

    	   // alert( "12" > "9" ) 
    	   // function a(){
     

    	   // 	return //1.给函数返回值  2.直接当前逻辑 return后面不在执行
    	   // }
    	   // console.log(Number(''))
    	   // console.log(parseFloat('')) //NaN
    	   //console.log(isNaN('123')) 
    	  // isNaN() 函数用于检查其参数是否是非数字值。
    	  //console.log(typeof NaN === 'number')  //number

    	  //console.log(NaN == NaN) //nan 任何一个都不一样
    	  //总结: number  不存在  NaN
    	      // 变量不存在   undefind
    	      // 对象不存在   null

    	      // var a = 'abcde'
    	      // a.length = 2
    	      // console.log(a.length)
    	      // var arr = [1,2,3,4,5]
    	      // arr.length = 0
    	      // console.log(arr.length)
    	      // //总结:字符串的length不能更改,数组的langth可以更改,常用来清空数组
    	      // arr = []
    	      // arr.length = 0


    	   //         function fn1() {
     
				    //    var a = 0;
				    //     function fn2() {
     

				    //       ++a;  
				    //       alert(a); 
				    //    }
				    //     return fn2;
				    // }
				    // fn1()(); //1
				    // var newFn = fn1();  //相当于 把 fn2 赋值给newfn
				    // newFn(); //1
				    // newFn(); //2 


				     //  var a = 100;
					    // function fn1() { 
					    // 	var  a
					    //     alert(a); //undeined
					    //     a = 10;
					    //     alert(a); //10
					    // }  
					    // alert( fn1() ); // undefined  undefined 


					// var arr = [1,2];
				 //    var arr2 = arr.concat();  //[1,2]  
				 //    //console.log(arr)
				 //   // console.log(arr.splice(1,1,3)) //splice 删除  1下标  0几个
				 //    //var b = arr.splice(1,0)  返回的 是删除的元素  b = []
				 //    arr2.push( arr.splice(1,0) );
				 //    console.log(arr2)

				//console.log([1,2,3].shift())

				  // var a = 10;  
			   //  function test() {  
			   //      a = 100;  
			   //      alert(a);  //100
			   //      alert(this.a); // this 默认是window 
			   //      var a;  
			   //      alert(a); //100  局部变量提升
			   //  }
			   //  test();  

			    // var arr=new Array(5); 
			    // arr[1]=1; 
			    // arr[5]=2;
			    // //[,1,,,,2]
			    // console.log(arr.length); //6

			    // console.log(null == undefined)  //true  都是空的意思  是成立
			    // console.log(null == NaN)  //false  
			    // console.log(NaN == undefined)  //false 
			    // console.log(null === undefined)  //false
			    // console.log(undefined == false)  //false

			    // console.log(Math.ceil(-3.14))//-3 
			    // console.log(Math.ceil(3.14))//4

			    //  var  s="abcdefg";
			    // alert(s.substring(1,2));

			   //1,找到数组 [-1,-2,1,10,4,5,8] 中的最大值,至少写出两种方法?
			 //   var arr = [-1,-2,1,10,4,5,8]
			 //   console.log(Math.max.apply(null, arr))
			 //   //applay 更改this执行  this指向第一个参数
			 //   var a = 0
			 //   for(var i=0;i
			 //   		if(arr[i] > a){
     
			 //   			a = arr[i]
			 //   		}
			 //   }
			 //   console.log(a)

			 //   var max2 = arr.sort(function(a, b){
     
				//     return b - a;
				// })
			 //   console.log(max2[0])
			 //2.封装一个函数,将字符串 "miao-wei-ke-tang" 从第二个单词开始首字母大写,然后拼成字符串 miaoWeiKeTang,并返回。(注意:封装成一个函数)
            //思路: 切割  处理每个字符串 改成首字母大写 最后在合并
            // function fn1(){
     
            // 	var str = "miao-wei-ke-tang"
            //    var arr = str.split('-')
            //    var newStr = arr[0]
            // 	for(var i=1;i
            // 		var b = arr[i].charAt(0).toUpperCase()
            // 		//console.log(b)
            // 		//console.log(Array.from(arr[i])) //字符串转数组 类数组 伪数组转数组 array.from  
            // 		var n = Array.from(arr[i])
            // 		n.splice(0,1,b)
            // 		console.log(n)
            // 		newStr += n.join('') //数组转字符串  join 可以去掉逗号
            // 	}
            // 	return newStr
            // }
            // console.log(fn1())

            // //3.
            // var str = '   miao v         ';

			// // 第一种方法
			// function trim(str) {
     
			//     var start, end;
			//     for (var i=0; i < str.length; i++) { //获取 非空的第一个下标
			//         if (str[i] !== '') {
     
			//             start = i;
			//             break;
			//         }
			//     }
			//     for (var i = str.length-1; i >= 0; i--) {//获取 非空的最后一个下标
			//         if (str[i] !== '') {
     
			//             end = i;
			//             break;
			//         }
			//     }
			//     return str.substring(start, end + 1);
			// }
			// //4、写一个方法,找出字符串 “abcabcabcabcabcabda” 中 “ab” 出现的次数和位置。
			// var str = 'abcabcabcabcabcabda';
			// var arr = [];
			// var n = 0;
			// while(str.indexOf('ab',n) != -1 && n < str.length) {
     
			//     arr.push(str.indexOf('ab', n));
			//     n = str.indexOf('ab', n) + 2;
			//     //ab n=2
			// }
			// console.log(arr);
			// indexof('ab',n) n从哪个下标开始找
			//5.5 ,请用 js 代码完成下列需求:body 里生成 100 个 div,每个 div 宽 100px,高 100px,内容是 1-100 自身序号,颜色按红、黄、蓝、绿交替变色,10行10列排列。

			// 思路:10行10列排列   双层for循环 
			// for(var i=0;i<10;i++){
     

			// 	for(var j=0;j<10;j++){
     

			// 	}
			// 	
// } // //颜色按红、黄、蓝、绿交替变色 // n % 4 == 1 红 // n % 4 == 2 黄 // n % 4 == 3 蓝 // n % 4 == 0 绿 </script> </html>

题目及答案

你可能感兴趣的:(JavaScript学习总结,字符串,js,javascript,前端)