javascript1000题

HTML与Js

  1. script标签都可以放在什么位置,有什么区别。
  2. 什么是延迟脚本。
  3. 什么是异步脚本。
  4. 怎么在XHTML中使用script标签。
  5. 使用外部js有什么优点。
  6. 怎样开启标准模式。
  7. noscript元素是什么,怎么使用它?

基本概念篇

  1. js区分大小写吗?
  2. 描述标识符的格式,并写出几个例子。
  3. 分别写一个标准的单行注释和一个标准的多行注释。
  4. 怎么启用严格模式。
  5. 怎样声明一个全局变量。
  6. 请使用一条语句同时声明3个变量。
  7. js中存在几种数据类型,分别是?
  8. typeof操作符是什么,怎么使用,返回值分别代表什么意思。
  9. undefined这个值是什么,怎么产生的?
  10. 下面这段代码返回什么?
//var age;
alert(typeof age);
  1. null类型是什么?怎么使用?
  2. 下面这段代码会输出什么?
alert( null == undefined);
  1. 声明一个Boolean类型,下面这个代码是否正确?
var flag = True;
  1. 下面这些类型在自动转换成Boolean类型的时候,什么情况下转换成true,什么情况下转换成false:
  • Boolean
  • Number
  • String
  • Object
  • Undefined
  1. 分别声明一个十进制数字,一个八进制数字,一个十六进制数字。
  2. 浮点型和整型在内存空间上有什么区别?
  3. e表示法怎样使用?使用一下。
  4. 浮点型的最高精确度是多少?
  5. 输出js中可以保存的最小的数。
  6. 输出js中可以保存的最大的数。
  7. 如果数字的大小超过了最大值和最小值,会发生什么?
  8. 如何判断数字的大小是否超过了最大值或者最小值?
  9. 什么是NaN?
  10. 说明以下代码的输出结果:
alert(3/0);
alert(NaN == NaN);
alert(1 + NaN);
  1. 说明以下代码的输出结果:
alert(9/0);
alert(0/0);
alert(-9/0);
  1. 如何判断一个值是不是NaN;
  2. 说明以下代码的输出结果:
alert(isNaN(NaN));
alert(isNaN(10));
alert(isNaN("10"));
alert(isNaN("blue"));
alert(isNaN(true));
  1. 说明以下代码的输出结果:
alert(Number(true));
alert(Number(false));
alert(Number(1));
alert(Number(undefined));
alert(Number("123rr"));
alert(Number("11.11"));
alert(Number("0xf"));
alert(Number("070"));
alert(Number(" "));
alert(Number("dd"));
  1. 说明以下代码的输出结果:
alert(parseInt("1234uuu"));
alert(parseInt(" "));
alert(parseInt("0xA"));
alert(parseInt("22.5"));
alert(parseInt("070"));
alert(parseInt("70"));
alert(parseInt("oxf"));
  1. 怎么指定上述代码转化成数字的进制?
  2. 说明以下代码的输出结果:
alert(parseFloat("1234blue"));
alert(parseFloat("0xA"));
alert(parseFloat("22.5"));
alert(parseFloat("22.44.55"));
alert(parseFloat("0908.5"));
alert(parseFloat("3.125e7"));
  1. 写几个String中的字符字面量。
  2. 取得字符串的长度。
  3. 把一个整型转化成字符串。
  4. 把10分别转化成二进制,八进制,十进制,十六进制的字符串。
  5. 什么情况下会调用string() 方法,有什么区别?
  6. 说明以下代码的输出结果:
var value1 = 10;
var value2 = true;
var value3 = null;
var value4 ;
alert(String(value1));
alert(String(value2));
alert(String(value3));
alert(String(value4));
  1. 声明一个对象。
  2. constructor是做什么的,怎么使用。
  3. hasOwnProperty(propertyName)是做什么的,怎么使用。
  4. 说明以下代码的输出结果:
var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; //num3 = ?
var num4 = num1 + num2;  // num4 = ?

var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2;
var num4 = num1 + num2;

var s1 = "2";
var s2 = "Z";
var b = false;
var f = 1.1;
var o = {
  valueOf: function() {
    return -1;
  }
};

s1++;
s2++;
b++:
f--;
o--;
  1. 说明以下代码的输出结果:
alert(!false);
alert(!"blue");
alert(!0);
alert(!NaN);
alert(!"");
alert(!12345);
  1. 说明以下代码的输出结果:
alert(!!"blue");
alert(!!0);
alert(!!NaN);
alert(!!"");
alert(!!12345);
  1. 说明以下代码的输出结果:
alert(true && true);
alert(true && false);
alert(false && true);
alert(false && false);
  1. 说明以下代码的输出结果:
var found1 = false;
var result = (found1 && somUndefinedVariable);
alert(result);
var found2 = true;
var result = (found2 && someUndefinedValiable);
alert(result);
  1. 说明以下代码的输出结果:
alert( true || true);
alert( true || false);
alert( false || true);
alert( false || false);
  1. 说明以下代码的输出结果:
var found 1 = true;
var result = (found1 || someUndefinedVaiable);
alert(result);

var found2 = false;
var result = (found2 || someUndefinedVaiable);
alert(result);
  1. 解释下面这行代码的意思:
var myObject = preferredObject || backupobject;
  1. 说明以下代码的输出结果:
alert(Infinity * 0);
alert(Infinity * Infinity);
alert(Infinity * 100);
alert("123" * 10);
alert(0 / 0);
alert(Infinity / Infinity);
alert("123" / 0);
alert(26 % 5);

alert( Infinity + Infinity);
alert(Infinity + -Infinity);

alert( 0 + 0 );
alert( -0 + -0);
alert( +0 + -0);

alert( 5 + 5);
alert(5 + "5");

var result1 = 5 - true;   
var result2 = NaN - 1;    
var result3 = 5 - 3;       
var result4 = 5 - "";    
var result5 = 5 - "2";   
var result6 = 5 - null; 

var result = "Black" < "abc";
var result = "23" < "3";
var result = "23" < 3;
var result = "a" < 3;
var result = NaN < 3;
var result = NaN >= 3;
  1. 判断以下的值是否相等。
null == undefined;
"NaN" == NaN;
5 == NaN;
NaN == NaN;
NaN != NaN;
false == 0;
true == 1;
true == 2;
undefined == 0;
null == 0;
"5" == 5;
  1. 全等和不全等有什么区别。
  2. 说明以下代码的输出结果:
var result1 = ("55" != 55);
var result2 = ("55" !== 55);
var result3 = (null == undefined);
var result4 = (null === undefined);
  1. 演示一下条件运算符怎么使用。
  2. 演示一下 =,+=,-=,/=,*=。

语句篇

  1. 写一个标准的if...else语句
  2. 写一个标准的if ...else if ...else...语句
  3. 写一个标准的do...while语句
  4. 说明以下代码的输出结果:
var i = 0;
do {
  i += 2;
}while(i < 10);
alert(i);
  1. 写一个标准的while语句
  2. 说明以下代码的输出结果:
var i = 0;
while( i< 9) {
  i+=2;
}
alert(i);
  1. 写一个标准的for语句。
  2. 写一个标准的for...in语句。
  3. 写一个标准的lable标签。
  4. break语句和continue语句有啥区别。
  5. 演示一下break和continue的使用。
  6. 演示一下label和break、continue的搭配使用。
  7. 演示一下with语句的使用。
  8. 严格模式下可以使用with语句吗?
  9. 写一个标准的switch case语句。
  10. switch case语句中break的作用是什么?
  11. switch case语句中可以不使用default吗?

函数篇

  1. 写一个简单的函数。
  2. arguments是什么,演示一下怎么使用。
  3. 获取函数中传入的参数的长度。
  4. arguments的值与之对应的命名参数的值是保持同步的,说明这两者是访问同一块内存空间,这样说对嘛?
  5. 说明以下代码的输出结果:
fun("AAA");
function fun( num1, num2){
    console.log(num1);
    console.log(num2);
    arguments[1] = 10;
    arguments[2] = 100;
    console.log(arguments[1]);
    console.log(arguments[2]);
    console.log(num2);
}
  1. 为什么js中函数没有办法重载?

基本类型和引用类型篇

  1. 在js中,String是引用类型还是基础类型?
  2. 说明以下代码的输出结果:
var obj1 = new Object();
var obj2 = obj1;
obj1.name = "Nicholas";
alert(obj2.name);
  1. 说明以下代码的输出结果:
function setName(obj){
  obj.name = "Nicholas";
}
var person = new Object();
setName(person);
alert(person.name);
  1. 说明以下代码的输出结果:
function setName(obj){
  obj.name = "Nicholas";
  obj = new Object();
  obj.name = "Greg";
}
var person = new Object();
setName(person);
alert(person.name);
  1. 说明以下代码的输出结果:
var s = "Nicholas"; 
var b = true; 
var i = 22; 
var u; 
var n = null; 
var o = new Object(); 
 
alert(typeof s);   
alert(typeof i);   
alert(typeof b);    
alert(typeof u); 
alert(typeof n);   
alert(typeof o); 
  1. 解释以下代码:
alert(person instanceof Object); 
alert(colors instanceof Array);  
alert(pattern instanceof RegExp); 

执行环境及作用域篇

  1. 说明以下代码的输出结果:
if (true) {
  var color = "blue";
}
alert(color);
  1. 说明以下代码的输出结果:
for(var i=0;i<10;i++){
  doSomething(i);
}
alert(i)
  1. 说明以下代码的输出结果:
function add(num1,num2) {
  sum = num1 + num2;
  return sum;
}

var result = add(10,20);
alert(sum);
  1. 什么事块级作用域?
  2. 说明以下代码的输出结果:
for (vat i = 0; i < 10; i++) {
  doSomething(i);
}
alert(i);
if(true) {
  var color = "blue";
}
alert(color);
  1. 怎样声明一个全局变量?

引用类型之Object类型篇

  1. 使用构造函数的方式来声明一个Object类型的变量
  2. 使用字面量标识法定义一个变量。
  3. 使用点表示法来访问对象中的属性。
  4. 使用方括号法来访问对象中的属性。

引用类型之Array类型

  1. 使用构造函数声明一个数组。
  2. 给数组一个默认的长度。
  3. 使用构造函数的方式给数组一个默认的值。
  4. 使用字面量的形式声明一个数组。
  5. 使用字面量的形式给数组设置默认值。
  6. 声明一个数组,[1,2,3,4,5,6];
  7. 修改第二项的值。
  8. 读取数组的长度。
  9. 把数组的长度设置为20;
  10. 使用2种方式检测一个变量是否是数组。
  11. 演示一下toString()和toLocalString()方法是怎么使用的。
  12. 声明一个对象数组people,存入两个对象person1和person2,复写每个对象中的toString()和toLoaclString()方法,调用toString()和toLocalString()查看结果。
  13. 根据上面这道题,复写valueOf()查看结果。
  14. 使用“*”这个符号来连接数组中所有的元素并且转化成字符串。
  15. 声明一个新的数组,从最后面推入2项。
  16. 取得这个数组的最后一项。
  17. 取出数组的第一项。
  18. 从数组的最前面推入两项。
  19. 反转数组。
  20. 对数组进行排序。
  21. 使用自定义比较器对数组进行排序。
  22. 声明一个数组,在这个数组后面添加新内容,返回新数组,不改变原数组内容。
  23. 取得数组中的第1个位置到最后一个位置的元素。
  24. 取得数组中的第1个位置到第4个位置的元素。
  25. 使用splice方法删除数组中的第一项。
  26. 使用splice方法在数组中第一个位置开始添加内容。
  27. 使用splice在数组第2个位置开始,删除3项,插入2项新内容。
  28. 先给一个数组,[1,2,3,4,5,4,3,2,1];分别完成:
  • 从前开始查找数组中的“4”
  • 从后开始查找数组中的“4”
  • 从第4个位置开始向后查找数组中的“4”
  • 从第4个位置开始向前查找数组中的“4”
  1. 现在给定一个数组[1,2,3,4,5,4,3,2,1];分别完成:
  • 检查数组中的所有项书否都大于2;并且返回结果。
  • 检查数组中是否存在任何一项大于2,;并且返回结果。
  • 把数组中大于2的元素保存在一个新的数组之中。
  • 把数组中所有的项都*2,返回新数组。
  • 类似于传统的for循环,用什么方法可以代替这个for循环呢?
  1. 归并方法,Array中存在两个归并方法,请演示一下怎样使用这两个方法。(reduce,reduceRight)。例如把一个数组中所有的内容相加。

引用类型之Date类型

  1. 声明一个date类型的变量。
  2. 为2018年1月9号创建一个日期对象。
  3. 使用一下Date中的UTC方法和parse方法,这两个方法有什么异同?
  4. 取得当前时间。
  5. 待补充。。。日期组件的方法,,

引用类型之RegExp类型

  1. 全局模式的简写。
  2. 不区分大小写模式的简写。
  3. 多行模式的简写。
  4. 现有一个字符串,“cat,bat,lat”,分别完成以下操作:
  • 匹配所有的“at”实例
  • 匹配cat或bat,不区分大小写。
  • 匹配所有以“at”结尾的三个字符的组合,不区分大小写。
  • 匹配第一个“[bc]at”,不区分大小写。
  • 匹配所有的“.at”,不区分大小写。
  1. 将以上字面量形式的正则表达式修改成字符串形式的(以构造函数的方式构建正则表达式)

  2. 使用字面量的形式和使用构建函数的方式有什么区别?

  3. RegExp中存在哪些实例属性?说明一下。

  4. exec方法和test方法有什么异同?

  5. 什么叫做捕获组?

  6. 分别演示一下这两个怎么使用?

你可能感兴趣的:(javascript1000题)