1.JS的组成
1)ECMAScript(5) js的帮助文档api 核心 规定了js的引入方式、命名规范、变量、数据类型、语法、操作语句
2)DOM document object model 文档对象模型
3)BOM browser object model 浏览器对象模型
2.JS的命名规范
1)区分大小写
document documenT
2)遵循驼峰命名法
第一个单词首字母小写,从第二个单词开始首字母大写
personInfo
studentManageSystem
3)匈牙利命名法
oDiv aStu
4)由数字、字母、下划线、$组成,不能以数字作为开头
div1 box1 stu $stu
5) 不能使用关键字和保留字
关键字:在js中有特殊意义的
var
保留字:未来可能作为关键字的
3.变量
1.声明一个变量 var ES6新增const let
var 变量名 = 变量值;
2.= 赋值:将等号右边的变量值赋值给等号左边的变量名
3.变量的作用:存储值和代表值的
var a = 123
alert(a);//变量所代表的值123
4.数据类型
1、基本数据类型
1)number:数字
包括:12 -10 12.5 0 NaN
NaN:not a number 不是一个有效数字
NaN==NaN false
isNaN(NaN) -->true
方法:
1)isNaN(判断的内容) 判断是不是有效数字,如果是有效数字返回false,不是有效数字 返回true
不是number类型:先默认转为number类型(Number()),再判断
2)Number() 强制转换,只要有一个字符不是有效数字 返回NaN
Number(false) Number(null) Number('')-->0
Number(true) -->1
Number(undefined) -->NaN
返回值:只有两种 数字或者NaN
3)parseInt() 返回一个整数或者NaN
从左到右一个字符一个字符的查找,是数字继续查找,只要遇到一个字符不是数字 返回之前查找到的数字
4)parseFloat() 返回整数、小数、NaN
多识别一个小数点.
2)string:字符串
概念:在js中引号中的都是字符串"" ''
字符串和变量的区别:字符串有引号 变量没有引号
+ 运算符: 遇到字符串 --》字符串拼接
1+'zf'-->'1zf' 1+1+'zf'
'bg'+5%3+1 -->'bg21'
'bg'+(5%3+1) -->'bg3'
字符串也有索引 从0开始 也存在length的属性
3)boolean:布尔
包括:true false
方法:
1)! 先转为布尔类型然后再取反
什么情况是假:NaN、0、''、null、undefined,其余都为真
2)!! -->Boolean()
if(![]){
alert(123);
}
4)null 空
5)undefined 未定义
2、引用数据类型
1)object:对象数据类型
对象类Object、数组类Array、正则类RegExp、时间类Date、Math函数..中的实例
{} [] //
1)方法
创建一个对象
1、var obj = {};//字面量
var obj = new Object()//实例的创建方式
2、增删改查
1)增加一组属性
obj.name = 'zfpx'
2)获取属性名对应的属性值
obj.name
3)修改属性名对应的属性值
obj.name = 'zf'
4)删除
obj.name = null
delete obj.name
obj.name<-->obj['name']
属性名为数字 obj[数字]
2)函数数据类型 function
var sum = function(){}
function 函数名(){
函数体
}
//1、直接调用
函数名();
//2、事件调用:人为点击时是执行函数,没有点击就只是创建函数
元素.onclick = function(){
}
创建一个函数:
1、开辟一个空间地址
2、将函数体中的代码以·字符串·的形式存储到空间中
3、把地址赋值给函数名
执行函数:
将字符串变为js代码执行
5.基本数据类型和引用数据类型区别
1)基本数据类型:值
2)引用数据类型:空间地址
对象数据类型创建的三步:
1)开辟一个空间地址
2)把对象中的属性名和属性值 存储到空间中
3)空间地址赋值给对象名
指向同一个空间地址时:对象1==对象2 true
5.检测数据类型
1)typeof 要检测的内容
返回值:字符串类型的 "number" "string" "boolean" "undefined" "object" "function"
typeof null -->'object'
局限性:不能检测对象类型的具体的细分
typeof typeof (typeof []) -->"string"
2)constructor
var ary = [1,2,3]
ary.constructor -->返回一个函数 函数名指的是类型
3)instanceof
var ary = [1,2,3]
ary instanceof Array--》返回true false
4)Object.prototype.toString.call()