JavaScript
JavaScript 是 ECMAScript 的一种实现方式之一,轻量级的脚本语言,本身不提供 I /O(输入 / 输出)相关的 API,host 提供。
一:语法
变量: 变量是对 ” 值 ” 的具名引用, 变量名区分大小写. 声明变量的六种方法:var function let const import class 变量提升:JavaScript 引擎的工作方式, 先解析代码, 获取所有被声明的变量, 然后再一行行地运行. 所有的变量声明语句会被放在代码的头部. 标识符: 变量名, 函数名等. 命名规则, 首字母可以是字母或 $ 或_, 余下字符: 除了 Unicode 字母, 美元符号和下划线, 还可以用数字 0 -9 使用驼峰命名法保留字: 不能作标识符, argument,break,case,catch,class,const,continue,debugger,default,delete,do,else,enum,eval,export,extends,flase,finally,for,function,if,implements,import,in,instanceof,interface,let,new,null,package,private,protected,public,return,static,super,switch,this,throw,true,try,typeof,var,void,while,with,yield. 注释: 一种单行注释: 用 // 开头. 多行注释: / 和 / 之间. <!—-> 语句: if 结构 if..else 结构 switch 结构 三元运算符?: while 循环 for 循环 do…while 循环 break 语句和 continue 语句 lable 标签 if 语句,if-else 语句,switch 语句, 注意 switch 语句后面的表达式, 与 case 语句后面的表达式比较运算结果时, 采用的是严格相等运算符(===), 而不是相等运算符(==), 即不会发生类型转换.
数据类型
JavaScript 的数据类型共有七种:number (数字).string(字符串),boolean(布尔型),undefined(未定义),null(空),object(对象),Symbol(符合). 原始类型: 数值 / 字符串 / 布尔值. 特殊值:null/undefined. 合成类型:object, 存放许多值的容器. 对象细分为: 狭义的对象, 数组, 函数. 判断一个值的类型: typeof 运算符, instanceof 运算符 object.prototype.toString 运算符 历史遗留,typeof null 会返回 object instanceof 可以区分 array 和 object
null 和 undefined: null 是一个表示 ” 空 ” 的对象, 转为数值时为 0,undefined 是一个表示 ” 此处无定义 ” 的原始值, 转为数值为 NaN.null: 好比待补球员. undefined: 当变量声明了, 但没有赋值, 调用函数时, 该提供的参数没有提供, 该参数等于 undefined. 对象没有赋值的属性, 函数没有返回值时, 默认返回 undefined.
Bollean: 真 true, 假 false. 以下运算符返回布尔值, 前置逻辑运算符! , 相等运算符 === !== == != 比较运算符 > >= < <= 以下六个值被转为 false(undefined,null,false,0 NaN, “” 或 ’), 其他值都视为 true, 空数组 {} 和空对象对应的布尔值都是 true.
number: 在 JavaScript 内部, 所有的数字都是小数(64 位浮点数), 对于某些运算需要整数, 会自动把 64 位数浮点数转换为 32 位整数, 再进行运算. Js 中最大数值为 2 的 1024 次方, 超出则 Infinity. Js 中最小值为 2 的 -1075 次方, 超出则 0. 数值的进制: 十进制, 十六进制(0x 或 0X), 八进制(0o 或 0O), 二进制(0B 或 0b). 历史遗留,0888 会被看做八进制.
特殊数值: 正零和负零,Js 内部的 2 个 0,一个是 +0,-0,区别是 64 位浮点数表示法的符号位不同,它们为等价的。
NaN 是 JavaScript 的特殊值,数据类型依然属于 Number,表示“非数字”,主要出现在将字符串解析成数字出错的场合。NaN 不等于任何值,包括它本身。
Infinity. 表示“无穷”。
string: 字符串 ’abc’ 或 ”abc”, 要在 ” 里面使用单引号加反斜杠,用来转义。length 属性返回字符串长度。object:object 是 JavaScript 语言的核心概念,对象是一组 ” 键值对(key-value)” 的集合,属性的读取与赋值(. 运算符和 [] 运算符)查看一个对象本身的所有属性,可以使用 object.keys 方法. 属性的删除, 只能删除对象本身的属性 delete Objectname.value; 属性是否存在 in 运算符 ‘value’ in Objectname;属性的遍历 for..in 循环, 用来遍历一个对象的全部属性,不仅遍历对象自身的属性,还遍历继承的属性。
function: 函数是一段可以反复调用的代码块,是处理数据的方法, 是 JavaScript 的第一等公民。函数还能接受输入的参数,不同参数返回不同值。如果同一个函数被多次声明, 后面的声明就会覆盖前面的声明. 声明函数的方法:function 函数表达式 Function 构造函数 array:数组是方括号里面按次序排列的一组值。可以先定义后赋值,可以放入任何数据类型。<script>
(1)function 命令
function print(s) {//function 命令后面就是函数名,函数名后面一组圆括号,里面是传入的参数,函数体放入大括号里面。
console.log(s);
}
(2)函数表达式
let print = function(s) {// 表达式的 function 命令之后, 如要加函数名, 则只会在函数体内部有效, 在函数体外部无效.
console.log(s);
};
(3)Function 构造函数
let add = new Function (
‘x’,
‘y’,
‘return x + y’
);
</script>
运算符
处理数据的基本方法, 从现有的值得到新的值. 算术运算符, 比较运算符, 布尔运算符, 二进制运算符, 其他运算符, 运算顺序. 算术运算符: 加法运算符 (+), 减法运算符(-), 乘法运算符(), 除法运算符(/), 指数运算符(*) 余数运算符(%), 自增运算符(++x/++x),
自减运算符(–x/x–), 数值运算符(+), 负数值运算符(-x)
加法运算符允许非数值的相加.
比较运算符: >(大于运算符) <(小于运算符) <=(小于或等于运算符) >=(大于或等于运算符) ==(相等运算符) ==(严格运算符)!=(不相等运算符)!==(严格不相等运算符) 布尔运算符:!(取反运算符) &&(且运算符) ||(或运算符) ?:(三元运算符) ·以下运算符 (undefined,null,false,0,NaN,”) 取反为 true. 二进制位运算符: 其他运算符, 运算顺序:void 运算符, 执行一个表达式, 如何不返回任何值. 或者返货 undefined. 逗号运算符, 用于对两个表达式求职, 并返回后一个表达式的值.
专题一:数据类型的转换
Number(), 解析为数值,不可解析与 undefined 则 NaN,空字符串与 null 则为 0,true 转为 1.false 转为 0.String(),解析为字符串。Boolean(),转为布尔值,以下五个值 (undefined,null,- 0 或 +0,NaN,”(空字符串)) 的转换结果为 false,其他的值为 true.
参考
(1)网道 - 互联网开发文档(https://wangdoc.com/).