JavaScript基础&实战知识点记录(1-25集)
第二集-JS的hello world
- 警告框
alert(); - 页面输出内容
document.write(); - 控制台输出一个内容
console.log();
第三集-js编写位置
- 按钮
<button></button>
,可编写到onclick属性中,点击按钮会执行js代码 - 可编写到超链接的herf属性中,点击超链接会执行js代码
- 属于结构与行为耦合,不方便维护,不推荐使用
- 可以将js代码编写到script标签
- 可以将js代码编写到外部js文件中,然后通过script标签引入(src=“”)
- 在不同页面中同时使用,也可以利用到浏览器的缓存机制,推荐使用的方式
- script标签一旦用于引入外部标签了,就不能再编写代码了,即使编写了浏览器也会忽略
第四集-基本语法
- /* */多行注释
//单行注释 - JS中严格区分大小写
- 每一条语句以";"结尾
- JS会忽略多个空格和换行(可以通过空格和换行对代码进行格式化)
第五集-字面量和变量
- 字面量都可以直接使用
- 变量可以用来保存字面量,而且变量的值是可以任意改变的
更方便使用,通过变量去保存字面量,很少直接使用字面量 - JS中用var关键字来声明一个变量
- 声明和赋值同时进行
- 可以用变量对字面量进行描述
第六集-标识符
- 在JS中所有可以由我们自主命名的都可以称为是标识符
- 变量名,函数名,属性名都属于标识符
- 规则:标识符中可以含有字母、数字、“_”、“$”
标识符不能以数字开头 - 标识符不能是关键字或保留字
- 一般采用驼峰命名法:首字母小写,每个单词的开头字母大写,其余字母小写
第七集-字符串
- 数据类型指字面量的类型
- JS中六种数据类型:String字符串
Number数值
Boolean布尔值
Null空值
Undefined未定义
Object对象
String、Number、Boolean、Null、Undefined属于基本数据类型
Object属于引用数据类型 - 在JS中字符串需要使用引号引起来
使用单双引号均可
引号不能嵌套
在字符串中可以使用""作为转义字符(\n表示换行,\t表示制表符)
第八集-Number
- JS中所有的数据都是Number类型(包括整数和浮点数)
JS中表示数字最大值:Number.MAX_VALUE
数字最小值:Number.MAX_VALUE - 可以使用运算符typeof来检查一个变量的类型
语法:typeof 变量
检查字符串时,会返回string;检查数值时,会返回number
如果number中表示的数超过了最大值,则会返回一个Infinity,表示正无穷
NaN是一个特殊的数字,表示NOT A NUMBER
JS中整数运算基本可以保证正确,进行浮点元素计算可能得到一个不精确的结果,所以不要用JS进行对精确度要求比较高的运算
第九集-布尔值
- 布尔值只有两个:true表示真;false表示假
- 使用typeof检查一个布尔值时,会返回boolean
第十集-Null和Undefined
- Null类型的值只有一个,就是null
null值专门用来表示一个为空的对象 - 使用typeof检查一个布尔值时,会返回object
- Undefined类型的值只有一个,就是undefined
- 声明一个变量并不赋值时,它的值就是undefined
第十一集-强制类型转换String
- 强制类型转换:将一个数据类型强制转换为其他数据类型(将其他数据类型转换为Number、Boolean、String)
- 将其他数据类型转换为String
- 方法:调用被转换数据类型的toString()方法,用.实现调用(不会影响原变量,会将转换结果返回)
注意:Null和Undefined两个值没有toString()方法,会报错
方法:调用String函数,将转换数据作为参数传递给函数
使用String函数做强制类型转换时,对于Null和Undefined直接转换为相对应的字符串
第十二集-强制类型转换Number
- 方法:调用Number函数
字符串->数字:如果是纯数字的字符串,则直接将其转换为数字;如果字符串中有非数字的内容,就会转换为NaN;如果字符串为空或全是空格,则转换为0;布尔->数字,true转1,false转0;Null转Number是0;Undefined转Number是NuN - 方法(专门字符串):parseInt()把一个字符串转换成一个整数,parseFloat()把一个字符串转换成一个浮点数
parseInt():获取整数部分
parseFloat():获取小数部分
如果对非String使用parseInt()、parseFloat(),会将其转换为String,再进行操作
第十三集-其他进制的数字
- 16进制数字要用0x开头,8进制要用0开头,2进制要用0b开头(不是所有浏览器都支持)
- 可以在parseInt中传递第二个参数,来指定数字进制
第十四集-转换为Boolean
- 使用Boolean()函数
- 除了0和NaN,其余的都是true;除了空串,其余的都是true;Null和Undefined都会转成false;对象也会转换为true
第十五集-算术运算符
- 算术符也叫运算符,通过运算符可以对一个或多个值进行运算
- typeof就是运算符,可以用来获得一个值的类型
- 它会将该值的类型以字符串的形式返回
Number Boolean Null Undefined Object - 算术运算符:当对非Number类型的值进行运算时,会将这些值转换为Number然后再进行运算
+可以对两个值进行加法运算
任何值和NaN做运算都得NaN
对字符串进行+,会对字符串进行拼串操作
任何值和字符串做加法运算,都会转换成字符串,然后进行拼串操作
用任意数据类型加" "的方式将任意数据类型转换为String(隐式类型转换)
-可以对两个值进行减法运算
可以对两个值进行减法运算
/可以对两个值进行减法运算
任何值做-/都自动转换为Number
为一个值-0*1/1来将其转换为Number(隐式类型转换)
%取模运算
第十六集-一元运算符
- 一元运算符:只需要一个操作数
- +对数字没影响,-表示取反
- -对非Number值,会将其先转换为Number,后进行运算
可以对其他数据类型使用+,将其转换为Number(隐式类型转换)
第十七集-自增和自减
- 自增:通过自增可以使变量在自身的基础上增加1
对于一个变量自增以后,原变量的值会立即自增1
自增分成两种:a++和++a,都会立即使原变量的值自增1
a++等于原变量的值(自增前的值)
++a等于原变量新值(自增后的值) - 自减:通过自增可以使变量在自身的基础上减1
自减分成两种:a–和–a,都会立即使原变量的值自减1
a–等于原变量的值(自增前的值)
–a等于原变量新值(自增后的值)
第十九集-逻辑运算符
- JS中为我们提供了三种逻辑运算符:!(非)、&&(与)、||(或)
!用来对一个值进行非运算,对布尔值进行取反操作,对非布尔值进行运算,会将其转换为布尔值进行运算,然后取反,可以利用特点将其他数据类型转换为布尔值
&&用来对符号两侧的值进行与运算,都为true则返回true,只要有一个false,则返回false,JS中的与属于短路的与
||用来对符号两侧的值进行或运算,只要有一个true,则返回true,JS中的或属于短路中的或
第二十集-非布尔值的与或运算
- 对于非布尔值进行与或运算时,会将其转换为布尔值,然后再进行运算
- 与运算:如果两个值都为true,则返回后面一个;如果两个值都为false,则返回前面一个
- 或运算:如果第一个值为true,则返回第一个值;如果第一个值为false,则返回第二个值
第二十一集-赋值运算符
- =可以将符号右边的值赋值给符号左边的变量
- a+=5与a=a+5等价
a-=5与a=a-5等价
a*=5与a=a*5等价
a/=5与a=a/5等价
a%=5与a=a%5等价
第二十二集-关系运算符
- 通过关系运算符可以比较两个值之间的大小
关系成立返回true,不成立返回false >
判断符号左侧的值是否大于右侧的值,如果关系成立,返回true;如果关系不成立,则返回false>=
判断符号左侧的值是否大于等于右侧的值<=
判断符号左侧的值是否小于等于右侧的值<
判断符号左侧的值是否小于右侧的值- 非数值的情况:对非数值进行比较时,会将其转换为数字然后再比较
如果符号两侧的值都是字符串时,不会将其转换为数字进行比较,而回分别比较字符串中的Unicode编码;比较字符编码时是一位一位进行比较,如果两位一样,则比较下一位,可以用来对英文进行排序,比较中文没有意义,如果比较两个字符串型的数字,可能会得到不可预期的结果,因此比较两个字符串型的数字,一定要转型
第二十三集-Unicode编码表
- 在字符串中使用转义字符输入Unicode编码
\u+四位编码 - 在网页中使用Unicode编码
&#编码;(十进制编码)
第二十四集-相等运算符
- 用来比较两个值是否相等,如果相等会返回true,否则返回false
- 使用
==
来做相等运算,如果==
比较的两个数不同时,则会立刻进行类型转换,将其转换成相同的类型,然后再比较 - undefined衍生自null,所以这两个值做相等判断时,会返回true;NaN不和任何值相等,包括他本身,可以通过isNaN()函数来判断一个值是否是NaN,如果是NaN,则返回true,否则返回false
- 不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false
使用!=
来做不相等运算
不相等也会对变量进行自动的类型转换,将其转换成相同的类型,然后再比较 ===
:全等,用来判断两个值是否全等,他和相等类似,不会进行自动的类型转换,如果两个值类型不同,则直接返回false!==
:不全等,用来判断两个值是否不全等,他和不等类似,不会进行自动的类型转换
第二十五集-条件运算符
- 条件运算符也叫三元运算符
条件表达式?语句1:语句2 - 执行的流程:条件运算符在执行时,首先对条件运算符进行求值
如果该值为true,则执行语句1,并返回执行结果;如果该值为false,则执行语句2,并返回执行结果 - 如果条件的表达式的求值结果是一个非布尔值,会将其转换为布尔值然后再运算