一、JS的HelloWord
1、JS的代码需要编写到script标签中
2、JS的执行是根据语句从上到下一次执行的。
二、JS的编写位置
1、可以将js代码编写到标签的onclick属性中,当我们点击按钮时,js代码才会执行。
2、可以将js代码写在超链接的href属性中,这样当点击超链接时,会执行js代码。
3、虽然可以写在标签的属性中,但是他们属于结构与行为耦合,不方便维护,不推荐使用。
4、可以将js代码编写到script标签中。
5、可以将js代码编写到外部的js文件中,然后通过script标签引入。
6、写到外部文件中可以在不同的浏览器中同时引用,也可以利用到浏览器的缓存机制,推荐使用这种方式。
7、script标签一旦用于引入外部文件了,就不能再编写代码了,即使编写了浏览器也会忽略。如果需要则可以再创建一个新的script标签用于编写内部代码。
三、基本语法
1、JS中的注释:注释中的内容不会被执行,但是可以在源代码中查看,要养成良好的编写注释的习惯,也可以通过注释来对代码进行一些简单的调适。
① /* */ 表示多行注释
② // 表示单行注释
2、JS中严格区分大小写。
3、JS中每一条语句以分号 ; 结尾。
——如果不写分号,浏览器会自动添加,但是会消耗一些系统资源,而且有些时候,浏览器会加错分号,所以在开发中分号必须写。
4、JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化。
四、字面量和变量
1、字面量:一些不可改变的值,比如1 2 3 4 5 ······
字面量都是可以直接使用的,但是我们一般不会直接使用字面量。
2、变量:可以用来保存字面量,而且变量的值是可以任意改变的。更加方便我们使用,所以在开发中都是通过变量去保存一个字面量,而很少直接使用字面量。可以通过变量对字面量进行描述。
3、声明变量:在js中使用var关键字来声明一个变量。
声明和赋值也可以同时进行。
五、标识符
1、在JS中所有的可以由我们自主命名的都可以称为是标识符,例如:变量名、函数名、属性名都属于标识符。
2、命名一个标识符时需要遵守如下规则:
① 标识符中可以含有字母、数字、_ 、$。
② 标识符不能以数字开头。
③ 标识符不能是ES中的关键字和保留字。
④ 标识符一般都采用驼峰命名法
——首字母小写,每个单词的开头字母大写,其余小写。【如:helloWorld 、 xxxYyyZzz】
3、JS底层保存标识符时实际上是采用的Unicode编码,所以理论上讲,所有的utf-8中含有的内容都可以作为标识符(可以用中文但不建议)。
六、数据类型
1、数据类型指的就是字面量的类型。
2、在JS中一共有六种数据类型:
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象
其中 String Number Boolean Null Undefined 属于基本数据类型,而 Object 属于引用数据类型。
3、String 字符串
① 在JS中字符串需要使用引号引起来,使用双引号或者单引号都可以。
② 引号不能嵌套,双引号里面不能放双引号,单引号里面不能放单引号。正确使用如下:
③ 在字符串中我们可以使用 \ 作为转义字符,当表示一些特殊符号时可以使用 \ 进行转义。
\" 表示 "
\' 表示 '
\n 表示换行
\t 表示制表符,相当于一个Tab
\\ 表示 \
④ alert(“str”); 表示输出字面量 字符串str
alert(str); 表示输出变量str
4、Number 数值
① 在JS中左右的数值都是Number类型,包括整数和浮点数(小数)。
② var a = 123; 表示数字123
var a = “123”; 表示字符串123
③ 可以使用一个运算符 typeof 来检查一个变量的类型。
语法: typeof 变量
检查字符串时会返回 string; 检查数值时会返回 number 。
④ JS中可以表示的数字的最大值—— Number.MAX_VALUE 【表示数值为:1.7976931348623157e+308】
⑤ 如果使用 Number 表示的数字超过了最大值,则会返回一个 Infinity 表示正无穷;同理,-Infinity表示负无穷。使用typeof检查Infinity也会返回Number。
⑥ NaN是一个特殊的数字,表示 Not A Number(非数值);使用typeof检查NaN也会返回Number。
⑦ Number.MIN_VALUE 大于0的最小值 【表示数值为:5e-324】
⑧ 在JS中整数的运算基本可以保证精确,如果使用JS 进行浮点数运算,可能得到一个不精确的结果,所以千万不要使用JS进行对精确度要求比较高的运算。
5、Boolean 布尔值
① 布尔值只有两个【true 表示真; false 表示假】,主要用来做逻辑判断。
② 使用 typeof 检查一个布尔值时,会返回 boolean 。
6、Null 空值
① Null类型的值只有一个,就是null。
② null这个值专门用来表示一个为空的对象。
③ 使用 typeof 检查一个null值时,会返回 object 。
7、Undifined 未定义
① Undifined类型的值只有一个,就是undefind
② 当声明一个变量时,但是并不给变量赋值时,它的值就是undefined。
③ 使用 typeof 检查一个 undefined 时也会返回 undefined 。
七、强制类型转换
1、指将一个数据类型强制转换为其他的数据类型。
2、类型转换主要指,将其他的数据类型转换为 String 、 Number 、 Boolean 。
3、将其他的数据类型转换为String
-
方式一:
① 调用被转换数据类型的 toString() 方法。 【调用xxx的yyy()方法就是 xxx.yyy()】
② 该方法不会影响到原变量,它会将转换的结果返回。
③ 但是要注意: null 和 undefined 这两个值没有 toString ()方法;如果调用他们的方法会报错。
-
方式二:
① 调用 String() 函数,并将被转换的数据作为参数传递给函数。
② 使用 String() 函数做强制类型转换时,对于 Number 和 Boolean 实际上就是调用的 toString()方法;但是对于 null 和 undefined ,就不会调用 toString()方法,它会将 null 【字面量】直接转换为 “null”【字符串】,将 undefined 【字面量】直接转换为“undefined”【字符串】。
4、强制转换为Number
-
方式一:
使用 Number() 函数。
① 字符串转换为数字 —— 如果是纯数字的字符串,则直接将其转换为数字;
—— 如果字符串中有非数字的内容,则转换为NaN;
—— 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。
② 布尔值转换为数字 —— true 转换为1
—— false 转换为0
③ Null 转换为数字 0
④ undefined 转换为数字 NaN
⑤ 调用 parseInt()函数将含有数字和非数字的数字部分转换为Number
-
方式二:
① 这种方式专门用来对付字符串
② parseInt() 把一个字符串转换为一个整数,可以将一个字符串中的有效的整数内容取出来,然后转换为Number。
parseFloat() 把一个字符串转换为一个浮点数。作用和 parseInt()类似,不同的是它可以获得有效的小数。
③ 如果对非 String 使用 parseInt() 或 parseFloat(),它会先将其转换为 String 然后再操作。
5、强制转换为Boolean
-
方式一:
① 使用 Boolean() 函数
② 数字转换为布尔值:除了 0 和 NaN ,其余都是true。
③ 字符串转换为布尔值:除了空串,其余都是true。
④ null 和 undefined 都会转换为false。
⑤ 对象也会转换为 true 。
-
方式二:
隐式类型转换:为任意的数据类型做两次非运算,即可将其转换为布尔值
八、其他进制的数字
1、在js中,如果需要表示16进制的数字,则需要以 0x 开头。
2、如果表示8进制的数字,需要以 0 开头。
3、如果表示2进制的数字,需要以0b开头,但不是所有的浏览器都支持。
4、像“070”这种字符串,有些浏览器会当成8进制,有些会当成10进制进行解析,可以再parseInt()中传递一个第二个参数,来指定数字的进制。
本文的分享就到这里,下一节继续分享关于JavaScript初级知识的学习。