<!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>
题目及答案