1.JavaScript 诞生于1995 年,最初是为了验证表单输入的验证,网景公司的布兰登·艾奇 创造的,原称 livescript(ls)css
2.JavaScript是运行在客户端的一种语言,是一种真正的编程语言,而html是标记语言,css是层叠样式表html
3.JavaScript的组成成分,EMCAScript,dom,bom编程
4.JavaScript的书写位置,书写在head标签对里面,书写在</body>前面,书写在</html>以后数组
5.数据类型 数字型(number) 字符型(string) 布尔型(boolean) undefined null objectdom
前面五种是简单数据类型 后面一种是复杂数据类型编程语言
简单数据类型与复杂数据类型的区分就是 在内存中存储的时候所存储的位置不一样,前者存储在栈内存中,后者存储在堆内存中函数
每次有新定义的变量的时候 简单类型会从新开辟一块空间来存储变量 而复杂类型在堆内存的存储只会从新将一个索引赋值给新的变量3d
所以衍生的一些问题:htm
1)var a=15; var b=a; b=10;console.log(a) //打印结果是15对象
2)var a={name:"张三"}; var b=a; b.name="李四"; console.log(a.name); // 会打印出李四 能够理解为定义的a对象放到堆内存中 a在栈内存中有一个索引指向存放在堆内存中的对象数据,而b=a,实际上是将这个索引复制一份交给b,因此b修改的是堆内存的两个变量所共有的东西,因此打印a的name的时候 会显示b修改后的内容
3)数组属于对象
6.typeof 函数用于判断数据类型
isNaN函数用于判断变量是不是数字
7.进制的转换 八进制 (以0开始的数据) 例如:07=7*8^0 071=1*8^0+7*8^1
十六进制 (以0x开始的数据)例如:0x7=7*16^1 0x51=1*16^0+5*16^1
8.注意小数的加减法 会出现精度丢失的问题 由于小数在存储到内存中的时候可能会出现循环现象 当出现循环的时候 系统会自动舍去一部分数据 而后就会出现精度丢失的问题
9.js规定的数值范围 最大值 Number.MAX_VALUE 1.7976931348623157e+308
Number.MIN_VALUE 5e-324
无穷大 Infinity
无穷小 -Infinity
10. 注意转义字符的运用(\+符号) 例如想要输出字符串 我是一个"中国"人
(1)document.write('我是一个"中国"人');
(2)documen.write("我是一个\"中国\"人");
11.数据类型的转换(1)转换成数字型
1.Number();
2.parseInt()
3.parseFloat() 效果和parseInt同样 只是这个会保留小数
(2)转换成字符型
1.X.toString();
没法转换的两种类型为undefined 和 null 会报错 程序没法执行
而d=" "转换出来仍是只有一个空格 但确实是转换了
2.String(); 转换能力比toString()强不少 能够转换 null和undefined类型
3.根据字符串的相加原则 结果和String()效果相似
(3)转换成布尔型
1.Boolean(); 能够转换全部类型
2.if(X);
3.!!
12.操做符
1)算数运算符 + - * / 注意字符串的相加原则
2)赋值运算符 = -= += *= /=
3)比较运算符 > < = >= <= != == === !==
4)逻辑运算符&& || !
5)一元运算符-- ++ !
13.运算符的优先级
1)()优先级最高
2)一元运算符
3)算数运算符
4)关系运算符
5)相等运算符
6)逻辑运算符
7)赋值运算符