ECMAScript: (3/5/6/7)它是JS语言的标准,规定了JS的编程语法和基础核心知识
DOM: document object model 文档对象模型,提供给JS很多操作页面中元素的属性和方法
BOM: browser object model 浏览器对象模型 ,提供了很多操作浏览器 的属性方法,而这些方法都存放在window浏览器对象上
1.ECMAScript (ES)
=>命名规范
->只能用数字,字母,下划线起名,而且数字不能做开头
->不能使用关键字和保留字做名字(掌握常用的关键字和保留字)
->严格区分大小写
->驼峰命名法,名字有一个或多个英文(英文简写)
组成(只是建议)不是规范 方便查看
add/insert/create/append 增加/插入/创建/追加
del/remove/clear 删除/移除/清空
update/replace/修改/替换
clone/copy 克隆/复制
...
=>变量和常量
var num=12;
num=13;
num是变量 12是常量
赋值的操作其实是发变量和常量建立了连接关系
->常量就是一个具体值:就是数据类型
基本数据类型(值类型): Number,string,boolean,null,undefineg
引用数据类型
object: {} , [] , /^-?(d|([1-9]d+))(. d+)?$/ ,new Date()....
function:
var obj={name:"zf"}
->预解释的时候首先声明一个叫做obj的变量
->开辟一个新的内存空间(有一个16进制的地址)
->把对象的属性名和属性值储存到这个空间中
->把空间地址赋值给变量(此时变量和常量之间就建立了连接)
====================================
=>检测数据类型
Number:
NaN:not a number 不是一个数 但是属于Number类型的 typeof NaN->'Number'
isNaN([val]): 检测一个内容是否为有效数字,是的话返回false,不是返回true
NaN===NaN : false
toFixed([number]):保留小数点多少位
var num=Math.PI;//->圆周率:3.1415926
num.toFixed(2) ->'3.14'
字符串string: 只要使用' 引号' 或者"双引号 "包起来的都是字符串
charAt
charCodeAt
substr
substring
slice
indexOf
lastIndexOf
toUpperCase
toLowerCase
split
replace
...
Boolean: 布尔 true/false
! 取反
!!把一个值转换为布尔类型值<=>Boolean
只有"0,NaN,空字符串,null,undefined"五个值代表假,其余都是真
null/undefined: 空/未定义
数组
方法的意思/参数意思/返回值/原有数组是否改变
push ary[ary.length]=x ary.splice(ary.lenth,0,x)
增加数组最后一项
pop ary.length- - ary.splice(ary.length-1,1)
删除数组最后一项
shift
删除数组前一项
unshift
增加数组前一项
splice
裁件拼接
concat
合并多个数组
join
toString
sort
reverse
indexOf/lastIndexOf
forEach
map
...
Math: 数学函数,本身是一个对象数据类型,里面提供了很多操作数字的方法
Math.abs
Math.ceil
Math.floor
Math.round
Math.random Math.round(Math.random()*(m-n)+n)->[n-m]
Math.max
Math.min
Math.pow Math.pow(10.3)->1000 十的三次幂
Math.sprt Math.sprt(100)->10 给一百开平方
....
在控制台执行:dir(Math)可以查看Math中的所有方法,自己总结其余方法的意思
检测数据类型:
typeof ->typeof null==='object' 及typeof的细节问题
instanceof
constructor
Object.prototype.toString.call()
==================================
=>三个判断和三个循环
判断
if,else if,else
swith,case
三元运算符
循环
for
for in
while