澳门新葡亰娱乐官网javascript1000题

澳门新葡亰娱乐官网 17

通常使用以下代码截取控制标题字数:

HTML与Js

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

一、对象解构

?=esub($bqr[title],32)?

基本概念篇

  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、对象解构

例如以下代码:直接将对象node解析成type和name变量。

澳门新葡亰娱乐官网 1

需要显示…省略号则使用以下代码:

语句篇

  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吗?

2、解析赋值

例如以下代码:本身已经声明了type和name两个变量并初始化,然后将node对象直接赋值给这两个变量,type和name的值就改变了。

澳门新葡亰娱乐官网 2

?=esub($bqr[title],32,'')?

函数篇

  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中函数没有办法重载?

3、默认值

在解构的过程中,如果局部变量名称不存在,那么这个变量就会被赋值成undefined,代码如下:value这个值在node对象中不存在,所以输出是undefinded。

澳门新葡亰娱乐官网 3

然而我们可以给他一个默认值,代码如下:value给了一个默认值true,node对象没有value这个属性,所以value就使用了默认值true。

澳门新葡亰娱乐官网 4

基本类型和引用类型篇

  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); 

4、为非同名局部变量赋值

上面的示例都是解构成了对象中相应的属性名相同的变量名,如果要使用不同的变量名,如下面代码:node对象就解构成了localType和localName两个变量。

澳门新葡亰娱乐官网 5

执行环境及作用域篇

  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. 怎样声明一个全局变量?

5、嵌套对象解构

解析复杂的对象,直接看下面的代码:下面的代码直接找的就是node.loc.start的值,要找到某个对象中的一个节点,就要用“{属性名}”去查找。

澳门新葡亰娱乐官网 6

引用类型之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)。例如把一个数组中所有的内容相加。

1、数组解构

看以下代码:这样就可以不用下标去取值,然后赋值给变量。

澳门新葡亰娱乐官网 7

引用类型之Date类型

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

2、解构赋值

这个操作和对象解构差不多,只是不需要小括号,看以下代码:变量firstColor和secondColor就变成数组中的第一个值和第二个值。

澳门新葡亰娱乐官网 8

引用类型之RegExp类型

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

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

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

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

  5. 什么叫做捕获组?

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

3、交换两个变量的值

在排序算法中,我们经常会将数组中的两个数进行交换,以前的做法是定义一个tmp,然后进行交换,而解构可以很方便的进行交换,看以下代码:

澳门新葡亰娱乐官网 9

4、默认值

和对象解构一样,如果没有想应的值,那么变量则会被定义成undefined。看如下代码:

澳门新葡亰娱乐官网 10

5、嵌套数组解构

和对象解构相似,插入一个数组模型,就可以解构下一层次,看以下代码:

澳门新葡亰娱乐官网 11

6、不定元素

可以通过”…”将多个元素赋值给一个变量,看以下代码:

澳门新葡亰娱乐官网 12

使用这个不定元素的方法,我们就可以用来复制一个数组,看以下代码:

澳门新葡亰娱乐官网 13

三、混合解构

看以下代码:就是将对象解析和数组解析合并使用。

澳门新葡亰娱乐官网 14

四、解构参数

当定义一个方法的时候,需要传入一个对象作为一个参数,例如以下的方法:

澳门新葡亰娱乐官网 15

对于使用这个方法的人来说,他并不知道options到底要什么样的对象属性,必须要走到源代码看到了,才能知道,所以这个时候就用解构参数来替换这个options,代码如下:

澳门新葡亰娱乐官网 16

这样对于使用这个方法的人来说,他就知道第三个参数是要传一个对象,这个对象具体有哪些属性也就一目了然。

解构参数的默认值

对于解构参数,如果要有默认值,可以使用以下代码:

澳门新葡亰娱乐官网 17

这样第三个参数对象,即使使用者不传入相应的对象值,那么方法也可以使用默认的值。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图