javascrpit是是一种轻量级的编程语言,常用于web前端开发。另外js还可以用来写node.js类型的服务和工具,在测试web项目的时候需要了解。
js定义变量有3种方式:var、const、let,3者的区别:
在 2015 年以前,使用 var 关键字来声明 JavaScript 变量。
在 2015 后的 JavaScript 版本 (ES6) 允许我们使用 const 关键字来定义一个常量,使用 let 关键字定义的限定范围内作用域的变量。
const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改。
const 的本质: const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。使用 const 定义的对象或者数组,其实是可变的,const的变量不能修改的是内存地址。
const book = {name:"test"} book.name = "bookname" //可以修改 book = {name:"bookname"}//不可以修改
块级作用域:var不支持,let 和 const支持
循环作用域(for):var是全局,let只在循环体内生效
//这里建议用let,var为全局 for (let i = 0; i < modelAndEvs.length; i++) { ... }
常规:+ - * /
取模(余数):%
自增和自减:++,--
赋值表达式支持:x+=y
等于和不等于:==、!=
比较特殊的绝对等于和不绝对等于:===、!== (需要值和类型均相等)
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、
空值:Null
未定义:Undefined
独一无二的值:Symbol(ES6 引入了一种新的原始数据类型)
引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。
查看变量类型:typeof x
null和undefined在判断语句中会自动转为false
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义,比如:变量被声明了,但没有赋值时,就等于undefined。
函数声明
function functionName(parameters) { 执行的代码 }
函数表达式和匿名函数
//匿名函数 var x = function (a, b) {return a * b};
箭头函数 =>
(参数1, 参数2, …, 参数N) => { 函数声明 } (参数1, 参数2, …, 参数N) => 表达式(单一) // 相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; } //当只有一个参数时,圆括号是可选的: (单一参数) => {函数声明} 单一参数 => {函数声明} //没有参数的函数应该写成一对圆括号: () => {函数声明} //如果函数部分只是一个语句,则可以省略 return 关键字和大括号 {} const x = (x, y) => x * y;
参考资料:https://www.runoob.com/js/js-tutorial.html