javaScript
嵌入
.js书写
JavaScript的数组可以包括任意数据类型
JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量
为了修补JavaScript这一严重设计缺陷,ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过var申明变量,未使用var申明变量就使用的,将导致运行错误。
由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用反引号 * … * 表示
要把多个字符串连接起来,可以用+号连接
用+号就比较麻烦。ES6新增了一种模板字符串,表示方法和上面的多行字符串一样,但是它会自动替换字符串中的变量:
字符串里用${变量}变成字符串
需要特别注意的是,字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果
请注意,直接给Array的length赋一个新的值会导致Array大小的变化
Array可以通过索引把对应的元素修改为新的值,因此,对Array的索引进行赋值会直接修改这个Array
===
在js中,“===”意味着值和类型都相等
例如:
x=5//数值
y="5"//字符串类型
x===y
flase
x==y
true
与之对应的有"!="(不等于)、"!=="(不绝对等于)
条件运算符(简化代码的好东西)
variablename=(condition)?value1:value2
//符合条件,执行1,不符合执行2
//注意是赋值给变量,条件后面跟着的是值(value)
//注意两个值之间的符号是冒号
typeof
x="123"
typeof x
string
null
null表示空对象
undefined
undefined没有设置值的变量
var x
//undefined
y=undefined
//undefined
数据类型
JavaScript 中有 6 种不同的数据类型:
- string
- number
- boolean
- object
- function
- symbol(?)
3 种对象类型:
- Object
- Date
- Array
2 个不包含任何值的数据类型:
- null
- undefined
constructor 属性
返回变量的构造函数
"abc".constructor
//string()
//是属性,不是方法,没有括号
//返回的是方法,有括号
类型转换
全局方法 String() 可以将数字转换为字符串
toSring()也有相同的作用
x=1234
String(x)
x.toSting()
//但是以上两个例子,typeof x的结果依旧是number,即不改变变量本身的类型
全局方法 Number() 可以将字符串转换为数字。
Operator + 可用于将变量转换为数字
y="5"
x +=y
typeof x
//number
日期方法 getTime() 可以令日期变为数值类型
自动转换类型
必要的时候,自动转换类型
自动转换为字符串
当输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法
注意:直接输出值是不可行的