JavaScript的组成 三部分组成
- ES 基础语法(ES5)
- DOM 文档对象模型(操作html文档内容)
- BOM 浏览器对象模型(操作浏览器相关内容)
JavaScript书写位置:
1.书写在标签中
<a href="javascript:alert('hello')"></a>
2.书写在script标签中
<script>
console.log('hello world');
</script>
3.书写在js文件中
<script src="js/demo.js"></script>
变量定义
使用var关键词 (js是弱类型语言)
var 变量名 = 值
var 变量名=值,变量名2=值2,变量名3=值3
变量名命名规则
1.不允许数字开头
2.不允许特殊字符 (可以使用_ 获取 $)
3.不允许保留字和关键词(static if…)
4.建议使用驼峰命名法(myUserName) 变量名区分大小写
5.建议使用语义化(param … )
数据类型
1.number类型 (整数和浮点数)
2.String类型(单引号 双引号 都是字符串)
3.Boolean布尔类型(true false)
4.null 类型 (只有一个null值,它表示一个空对象引用(指针))
5.undefined 类型(未定义 没有给值就是undefined 是null派生的子类 null==undefined)
6.特殊类型:object (数组 date日期 不同数据结构)
console.log(undefined == null); //true
var b ,car = null; console.log(typeof b== typeof car); //false
检索数据类型方法
typeof:
var str = 'hello';
console.log(typeof str); //String
数据类型转换
1.数值类型的强制转换
- Number
var str = '123';
console.log(Number(str));
- parseInt
var str = '123';
console.log(parseInt(str));//转换为整型
- parseFloat
var str = '123';
console.log(parseFloat(str));//转换为浮点类型
2.字符类型的转换
var str = 123;
console.log(str.toString());//调用toString方法,方法名后面需加();
3.布尔类型转换 Boolean
//string非空则为true number非0则为true 非NaN object 非null undefined false
var a = -10;
var b = Boolean(a);//将字符串转换布尔类型
console.log(typeof b);
判断是否为NaN(结果未定义)
isNaN 判断是否为NaN (不能转数值出现NaN 或者 除数不能为0)
console.log(isNaN(0/0));//true
console.log(isNaN('12.a'));//true
console.log(isNaN('12.8'));//false
运算符及表达式
算术运算 有括号先算括号 先乘除取余再加减
+ - * / % ++ --
备注: + 有字符串进行运算就是连接 没有字符串就是求和
++前置和后置的区别
var number = 10
++number //number = number+1
console.log(number);//11
console.log(number++);//++放后面的意思是先执行代码 再运算结果 还是11
console.log(++number);//++放在前面是先运算结果再执行代码 13
赋值运算
= += -= *= /= %=
//赋值 将10的值赋给a
var a = 10
//a+=10 相当于 a=a+10
a+=10 //20
console.log(a);
a-=10 // 相当 a = a-10
console.log(a);
a*=10 // a = a*10
console.log(a);//100
a/=10 //a = a/10
console.log(a);//10
a%=5 //a = a%5
console.log(a); //0