js的组成
- ECMAScript:定义了javascript的语法规范,描述了语言的基本语法和数据类型。
- BOM:浏览器对象模型,Browser Object Model,有一套成熟的可以操作浏览器的方法(api),通过BOM可以操作浏览器
- DOM:文档对象模型,Document Object Model,有一套成熟的可以操作浏览器的方法(api),通过DOM可以操作页面中的元素,
JS书写位置
-
1.行内式 - 不推荐
- 写在标签上的js代码需要依靠事件(行为)来触发
- alert(“xxxx”)
- 上面的代码表示弹框,弹框里面显示的内容写在""里面
-
2 内嵌式 - 写小案例的这么写
- 内嵌式的js代码会在页面打开的时候直接执行
- 把js代码写在一对script标签里面
- 一个页面可以有很多对script标签
- script标签可以放在页面的任意位置
-
3.外链式 - 推荐的写法
- 外链式js把js代码写在一个js后缀的文件里面,然后在html文件中通过script标签的src属性引入
- 外链式js代码会在页面打开的时候直接执行
js的注释
- 单行注释
- 可以直接写两个//
- 也可以用快捷键 : ctrl+/
- 多行注释
- 可以直接写 / * * /
- 也可以用快捷键:shift+alt+a
变量
- 变量的定义
- var 变量名=内容
- 变量的命名规则和命名规范
- 规则:必须遵守的,不遵守就报错
- 一个变量名可以由数字,字母,英文下划线(_),美元符号($)组成
- 严格区分大小写
- 不能由数字开头,不要使用中文汉字命名
- 不能是保留字和关键字
- 不要出现空格
- 规范:建议遵守的(开发者默认),不遵守也不会报错
- 变量名尽量有意义(语义话)
- 遵循驼峰命名规则,多个单词组成的时候,从第二个单词开始首字母大写
- 规则:必须遵守的,不遵守就报错
数据类型
-
简单数据类型
-
数值类型(number)
一切数字都是数值类型(十进制,十六进制,二进制,八进制等)
-
字符串类型 (string)
-
布尔类型(boolean)
只有两个值:true 或者 false
-
null类型
只有一个值:null,表示空的意思
-
undefined类型
- 只有一个值:undefined,表示没有值的意思
- 当定义了一个变量,但是没有给变量赋值的时候,此时变量值就是undefined;
-
-
复杂数据类型
- 对象数据类型object
- 函数类型function
- 数组类型array
- …
判断数据类型
-
typeof 数据
-
typeof(数据)
-
返回的值是一个表示数据类型的字符串,比如:“number”,“string”,…
特殊情况:
var a; // 如果变量定义了但是没有赋值,就是undefined
console.log(typeof(a));// 判断a的数据类型,返回undefined,然后打印undefined
var n = null;
console.log(typeof n); // object
// typeof判断返回的是object,但是null不符合我们复杂数据类型的判断标准,我们任然把null划分在基本数据类型的null类型。
判断是否为非数字
- isNaN(数据)
特殊情况:
true的值就是1
false的值就是0
isNaN(null) 返回false
isNaN("空字符串或者多个空格") 返回false
转数值类型
1 Number(变量)
== 把变量强制转换成数值类型
== 可以转换小数,会保留全部的小数
== 可以转换布尔值
== 遇到不可转换的都会返回NaN
2 parseInt(变量) - 用的最多的
== 把变量强制转换成数值类型
== 唯一规则:从第一位开始检查,是数字就转换,直到一个不是数字的内容
== 开头就不是数字,那么直接返回NaN
== 不认识小数点,只能保留整数
3 parseFloat(变量)
== 把变量强制转换成数值类型
== 唯一规则:从第一位开始检查,是数字就转换,直到一个不是数字的内容
== 开头就不是数字,那么直接返回NaN
== 认识一次小数点
4 除了加法以外的数学运算
== 运算两边都是可运算的数字才可以
== 如果运算符任何一边不是一个可运算的数字,那么就会返回NaN
== 加法不能转数值类型
转字符串类型
1 变量.toString()
== 有一些数据类型不能使用toString方法
== 比如:null和undefined
2 String(变量)
== 所有类型都可以
3 使用加法运算
== 在js里面,+ 有两个含义
== 字符串拼接:只要 + 任意一边是字符串,就会进行字符串拼接
== 加法运算: 只有 + 两边都是数字的时候,才会进行数学运算
-
注意点
-
如果一个变量的数据是null或者undefined
那么这个变量后面不能接 “ . ”
否则报错:
== Cannot read properties of undefined
== Cannot read properties of null
如果报这个错误,说明变量值是null或者undefined
-
转布尔类型
1 Boolean(变量)
== 在js里面,只有 "",0,null,undefined,NaN这些是false,其余的都是true