面試開發(fā)常用的 JavaScript 知識點總結(jié)
No1.语法和类型
1.声明定义
变量类型:var,定义变量;let,定义块域(scope)本地变量;const,定义只读常量。
变量格式:以字母、下划线“_”或者$符号开头,大小写敏感。
变量赋值:声明但未赋值的变量在使用时值为undefined,未声明的变量直接使用会抛异常。
未赋值变量作计算:结果为NaN。例如:
var x, y = 1;console.log(x + y); //结果为NaN,因为x没有赋值。
2.作用域
变量作用域:在ES6之前没有块声明域,变量作用于函数块或者全局。如下面的代码输入的x为5。
if (true) {var x = 5; }console.log(x); // 5
ES6变量作用域:ES6支持块作用域,但需要使用let声明变量。下面的代码输出结果抛出异常。
f (true) { let y = 5; }console.log(y); // ReferenceError: y is not defined1234
变量上浮:在一个方法或者全局代码中,我们在生命变量之前使用变量时并没有抛异常,而是返回undefined。这是因为javascript自动把变量的声明上浮到函数或者全局的最前面。如下面的代码:
/** * 全局变量上浮 */console.log(x === undefined); // logs "true"var x = 3;/** * 方法变量上浮 */var myvar = "my value";// 打印变量myvar结果为:undefined(function() {console.log(myvar); // undefinedvar myvar = "local value"; })();
上面代码和下面代码是等价的:
/** * 全局变量上浮 */var x;console.log(x === undefined); // logs "true"x = 3;/** * 方法变量上浮 */var myvar = "my value"; (function() {var myvar;console.log(myvar); // undefinedmyvar = "local value"; })();
全局变量:在页面中,全局对象是window,所以我们访问全局变量可通过window.variable。例如:
version = "1.0.0";console.log(window.version); //输出1.0.0
No2.数据结构和类型
1.数据类型
6个基础类型:Boolean(true或者false)、null(js大小写敏感,和Null、NULL是有区别的)、undefined、Number、String、Symbol(标记唯一和不可变)
一个对象类型:object。
object和function:对象作为值的容器,函数作为应用程序的过程。
2.数据转换
函数:字符串转换为数字可使用parseInt和parseFloat方法。
parseInt:函数签名为parseInt(string, radix),radix是2-36的数字表示数字基数,例如十进制或者十六进制。返回结果为integer或者NaN,例如下面输出结果都为15。
parseInt("0xF", 16);parseInt("F", 16);parseInt("17", 8);parseInt(021, 8);parseInt("015", 10);parseInt(15.99, 10); arseInt("15,123", 10);parseInt("FXX123", 16);parseInt("1111", 2);parseInt("15*3", 10);parseInt("15e2", 10);parseInt("15px", 10);
parseFloat:函数签名为parseFloat(string),返回结果为数字或者NaN。例如:
parseFloat("3.14"); //返回数字parseFloat("314e-2"); //返回数字parseFloat("more non-digit characters"); //返回NaN
3.数据类型文本化
文本化类型:Array、Boolean、Floating-point 、integers、Object、RegExp、String。
Array中额外的逗号情况:["Lion", , "Angel"],长度为3,[1]的值为undefiend。['home', , 'school', ],最后一个逗号省略所以长度为3。[ , 'home', , 'school'],长度为4。['home', , 'school', , ],长度为4。
integer整数:整数可以表达为十进制、八进制、十六进制、二进制。例如:
0, 117 and -345 //十进制015, 0001 and -0o77 //八进制0x1123, 0x00111 and -0xF1A7 //十六进制0b11, 0b0011 and -0b11 1234 //二进制
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章