1、只能输入‘零’和‘非零开头’的数字:
^(0|[1-9][1-9]*)$
[1-9]匹配1-9
$:匹配字符串结尾
2、 window.setTimeout(checkState(), 10000); //立即被调用
window.setTimeout(checkState, 10000); // 10s后被调用 。。。
window.setTimeout("checkState()", 10000); //10s后被调用 注意和第一个的区别 有引号
3、AngularJS是单例对象或函数
4、JavaScript中有五种基本数据类型(也叫做简单数据类型)分别为:undefined、null、bolean、number、string;另外还含有一种复杂的数据类型:object.
5、 getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 getYear() 从 Date 对象以四位数字返回年份。 getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
6、看(2)
setTimeout()方法接收两个参数,第一个参数可以是包含JavaScript代码的字符串,或者是一个函数。第二个参数表示等待多长时间的毫秒数将当前任务添加到队列中。
toggleClass() 对设置或移除被选元素的一个或多个类进行切换。
该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果。
8、
var arr = [1,3,10,2,20];
var result = arr.map(value=>value < 10);
console.log(result);
关系操作符小于(<)返回的是布尔值,所以map的每一项返回的都是布尔值,result最终结果是[true, true, false, true, false],map的结果是对数组中每一个元素调用一次提供的函数后的返回值
9、函数提升:预变量,可以直接在函数声明之前调用该函数,并能成功执行它。

变量提升:变量作用域指变量起作用的范围。变量分为全局变量和局部变量。全局变量在全局都拥有定义;而局部变量只能在函数内有效。
在函数体内,同名的局部变量或者参数的优先级会高于全局变量。也就是说,如果函数内存在和全局变量同名的局部变量或者参数,那么全局变量将会被局部变量覆盖。
所有不使用var定义的变量都视为全局变量


虽然return 语句可以终止函数,但是return语句后如果有变量和函数声明,仍然存在变量提升和函数提升
10、

实例与原型之间的关系是松散关系,实例中有一个指针,指向原型,所以对原型属性和方法的修改,是可以立刻反映到所有实例上的,所以A.n++,修改了原型的数据属性n,可以立刻体现到实例C上。
在查找 b.n 是首先查找 b 对象自身有没有 n 属性,如果没有会去原型(prototype)上查找
11、

test就是匹配的意思

浙公网安备 33010602011771号