尚硅谷最新版JavaScript基础全套教程完整版(p2-22)

这篇教程详细介绍了JavaScript的基础知识,包括JS的输出方式、编写位置、基本语法、变量、标识符、数据类型、强制类型转换以及运算符等。强调了良好的注释习惯、变量的使用以及数据类型中的字符串、数字、布尔值、空值和未定义的特性。还讨论了不同进制的数字表示以及各种运算符的用法,特别提到了字符串拼接和数字转换的细节。
摘要由CSDN通过智能技术生成

尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通)

一、JS的Helloworld和编写位置
1.js输出语句
-alert(”“); 控制浏览器弹出一个警告框
-document.write(""); 让计算机在页面中输出一个内容
-console.log(); 向控制台输出一个内容
-JS代码执行的顺序是从上往下的

2.js编写的位置
-js代码可以写到我们标签的onclick属性当中,当我们点击按钮时,js代码才会执行。可以将js代码写在超链接的href属性中,这样点我们点击超链接时,会执行js代码。
-虽然可以写在标签的属性中,但是他们属于结构与行为耦合,不方便维护,不推荐使用。
-可以将js编写到script标签中,然后通过script标签引入。写到外部文件中,可以在不同的页面中同时引用,也可以利用到浏览器的缓存机制,所以这是我们开发中使用较多的方式。
-script标签,一但用于引入外部文件后,就不能再对其进行编写。如果有需要,可以再创建一个新的,script标签,创建内部js代码。

二、JS的基本语法
1.注释
/* */ 这是一个多行注释,注释中的内容不会执行,但是可以在源代码中查看
// 这是一个单行注释,只对它后面的代码起作用
-要养成良好的注释习惯,也可以通过注释对代码进行一些简单的调试

2.注意
-JS中严格区分大小写
-JS中每一条语句以分号(;)结尾,如果不写分号,浏览器会自动加上分号,这会消耗一部分系统资源,而且还有可能加错分号,所以在开发中最好写上分号.
-JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化操作

三、字面量和变量
1.字面量(常量)
-字面量都是可以直接使用的,比如:1 2 3 4 5 . !!但是我们一般都不会直接使用字面量

2.变量
-变量可以用来保存字面量,且变量的值是可以随时改变的.且变量更加方便我们的使用,所以在开发中,我们都是通过变量保存一个字面量,而很少直接使用字面量.
-一般使用 var 来声明变量 例: var:a; 可以通过变量对字面量进行描述 比如: var

四、标识符
1.标识符
-在JS中所有的可以由我们自主命名的,都可以称之为标识符
例如:变量名 函数名 属性名 都属于标识符
-在命名一个标识符时,需要遵守如下的规则: (1) 标识符中可以含有字母、数字、_ 、$符 (2)标识符不能以数字开头 (3)标识符不能是ES中的关键字或保留字 (4)标识符一般都采用驼峰命名法(首字母小写,每个单词的开头字母大写,其余字母小写)

2.unite编码
-实际上JS底层保存标识符时,实际上使用的是Unicode编码,所以理论上来讲,所有的UTF-8中含有的内容,都可以作为标识符。

五、数据类型
1.数据类型
-数据类型指的就是字面量的类型
-在JS中一共有六种数据类型:string、number、Boolean、NULL、undefined属于基本数据类型,object属于引用数据类型

2.string
-在js中,字符串需要使用引号引起来,使用双引号或者单引号都可以,但是不要混着用。引号不能嵌套,单引号里不能放单引号,双引号里不能放双引号。
-在字符串中我们可以使用斜杠(\)作为转义字符,当表示一些特殊符号时,可以用斜杠进行转义。
比如:\“ ,此时双引号不会被浏览器解析为字符串的起始双引号或结束双引号。
-\” 表示 双引号,'表示单引号,\n表示换行,\t表示制表符(相当于摁了一下Tab键),\表示\。

3.number
-在JS中,所有的数值都是number类型,包括整数和浮点数(小数)
-JS中,最大值可以用Number.MAX_VALUE(1.7976931348623157e+308) 表示
如果使用的数值超过这个最大值,会返回一个infinity(表示正无穷),使用typeof检查,也会返回一个number类型,另外,-Infinity(表示负无穷)
-如果用两个字符串相乘 ,比如 a = “abc” * “bbb” 那么console.log(a);会返回一个NaN(表示not a number),使用typeof检查NaN也会返回一个number类型。
-在JS中,0以上的最小值可以用Number.MIN_VALUE(5e-324)表示
-在JS中,整数的运算基本可以保证精确,但是如果使用JS进行浮点运算,可能得到一个不精确的结果,比如 0.1 + 0.2 ,这是因为二进制无法对十分之一进行计算。 所以千万不要使用JS进行对精确度比较高的运算。

4.Boolean
-布尔值只有两个 : true 表示真 和 false 表示假 ,主要用来做逻辑判断。
5.Null 空值
-null这个值专门用来表示为空的对象,即这个对象不存在。
-使用typeof检查null值的时候,返回的应该是object,这是因为null就是用来表示对象的。
6.undefined 未定义
-undefined类型只有一个值,就是undefined,当我们设置了一个变量但是却没有给这个变量赋值时,它的值就是undefined。使用typeof检查undefined时,也会返回一个undefined。
7.object 对象(放在后面单独讲)

六、强制类型转换
1.定义
-强制类型转换指的是将一种数据类型强制转换为其他的数据类型。 类型转换主要指将其他的数据类型转换为string number 或者 Boolean.
2.将其他的数据类型转换为string
-方法一: 调用被转换数据的tostring();方法,这个方法不会影响原来的数据,但是可以返回一个结果,这个时候可以var一个新的值 , var b = a.tostring() ,也可以通过a = a.tostring();来达到转换类型的目的。
null和undefined这两个值没有tostring();方法,如果调用这两个的方法,会报错。
-方法二:调用string()函数,并将被转换的数据作为参数传递给函数。 例 a = string(a);
使用string()函数做强制类型转换时,对于number和Boolean实际上就是调用了tostring()方法,对于null和undefined实际上就是直接转换为了”null“和”undefined“

3.将其他数据类型转换为number
-方法一:使用number();函数
-如果字符串中有非数字内容,则转换为NaN。如果字符串是一个空串或者全是空格,那么会转换成0.
-布尔值转number,true会转换成1,false则会转换成0.
-null转数字是0,而undefined则是转换成NaN

方法二:这种方法专门用来对付字符串
-parseInt():把一个字符串转换为一个整型 这个函数可以将字符串中有效的整数类型取出来,转换成字符串。
parseFloat():把一个字符串转换为浮点型(小数点) 这个函数与pareInt函数类似,他可以取出有效的小数
但是如果对非string使用这两个函数,他会先将其转换为string,然后再操作
4.将其他数据类型转换为布尔值
-方法一:使用Boolean()函数。
-如果number类型转布尔类型,除了0 和 NaN 其他的都是true 。
-字符串类型转布尔类型,除了空串,其余的都是true(包括空格)
-null和undefined转布尔类型,都会转换成false。
-object对象也会转换成true
-方法二:隐式类型转换
-如果将一个非布尔类型的值进行两次非运算,就会将其转换为一个布尔值

七、其他进制的数字
1.0X开头
-在JS中,如果需要表示16进制的数字,则需要以0X开头
2.0开头
-在JS中,如果需要表示8进制的数字,则需要以0开头
3.0b开头
-在JS中,如果需要表示2进制的数字,则需要以0b开头,但是并不是所有浏览器都支持这个。
4.注意
-像”070“这种字符串,当它进行转换的时候,有的浏览器会把它解析为十进制,有的浏览器(比如IE)会把它解析为八进制。
-解决方法:我们可以在parseInt()函数中,设置第二个参数来表示进制,比如parseInt(a,10)。

八、算数运算符
1.操作符和运算符
-运算符也叫操作符,通过运算符可以对一个或多个值进行计算,并获得运算结果。 比如typeof就是一个运算符,可以获得一个值的类型,它会将该值的类型以字符串的方式返回。
2.计算方式
-当对非number类型的值进行计算时,会先将这些值转换成为number类型,再进行计算。
-!!!任何值和NaN做运算,结果都是NaN
3.+
-可以对两个值进行加法运算,并将结果返回
如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接成一个字符串,并将结果返回。
-任何值和字符串相加,都会先将其转换成字符串,再做拼接,返回一个结果。
-我们只需要为任意类型的数值加一个空串,即可将其转换为string类型,这是一种隐私的转换,由浏览器自动完成,实际上它也是调用了string函数
4.- * /
-可以对两个值进行运算,并将结果返回。
注意:除了”+“号中会自动将字符串的计算变成拼接,其他的运算方法中,则是将字符串转换成number值。 我们可以通过这一特点,利用-0,*1,/1将其他类型转换成number类型,其原理和number函数一样,但使用起来更加简单。
5%
-取余数计算

九、一元运算符
1.+
-这个“+”代表一个正号,对于数字没有影响
2.-
-这个“-”代表一个负号,负号可以对数字进行负号的取反
-对于非number类型的值,它会将其先转换为number,然后再运算
3.强行转换
-可以对其他类型的值使用"+"号转换成number类型,这个时候转换更加简单

十、自增和自减
1.自增
-通过使用自增,可以使变量在自身的基础上增加1 ,对一个变量自增以后,原变量的值会立即加1
-自增分为两种: 后++ a++ 和前++ ++a 。无论是a++还是++a都会立即使原变量的值自增1
a++的值等于自增以前的值 (a++先赋值,再自增)
++a的值等于自增以后的值(++a先自增,再赋值)
2.自减
-通过使用自减,可以使原变量的值减去1
-自增分为两种: 后-- a-- 和前-- --a 。 规则和前++ 与 后++的一样

十一、逻辑运算符
1.非("!")
-感叹号可以对一个值进行非运算
-所谓非运算就是对一个值进行取反操作
-如果对非布尔值进行取反,则将它先变成布尔值,再进行取反。所以我们可以利用该特点,来将其他的数据类型转换为布尔值,原理和Boolean函数类似。
2.与("&&")
-可以对符号两侧的值进行与运算,并返回结果
-如果两端都是true 则返回true ,只要有一个false ,就返回false
-JS中的”与“运算是短路的”与”,如果第一值为false,就不会运算第二个值。
3.|| 或
-可以对符号两侧的值进行或运算,并放回结果
-两个都是false,才返回false,只要有一个true,就返回true。
-JS中的“或”运算,是短路的“或”,如果第一个值为true,就不会运算第二个值。
4.对于非布尔值的或与非运算
-会先将其转换为布尔值,然后再运算,并且返回原值(注意,这里不是返回布尔值)
-与(“&&”)运算,如果两个值都为true,则返回后面的。如果两个值中有false,则返回靠前的false。
如果第一个值为true,则返回第二个值。如果第一个值为false,则返回第一个值。
-或(“||”)运算,如果第一个值为true,则直接返回第一个值,如果第一个值为false,则返回第二值。
也就是说,或运算是在找true,而与运算是在找false

十二、赋值运算符(“=”)
1.+=和-=
-赋值运算符可以将等号右侧的值赋给左侧的值

  • a += 5 等价于 a = a+5 ,a -= 5 等价于 a = a-5

十三、关系运算符
1.概念
-通过关系运算符可以比较两个值之间的大小关系。如果关系成立,它会返回true,如果关系不成立,它会返回false。
2. 大于号(">")
-如果左侧的值大于右侧,返回true,反之,返回false。
3.大于等于号(“>=”)
-判断左侧的值是否大于或等于右侧,成立返回true,反之返回false。
4.小于号(”<“)和小于等于号(”<=“)同理
5.非数值比较的情况
-对于非数字进行比较时,会将其转换为number类型,再进行比较。
-任何值和NaN进行比较的时候,都会返回false
-注意:如果符号的两侧都是字符串时,不会将其转换为数字进行比较。而是会分别比较字符串中的Unicode编码。比较字符编码时,是一位一位进行比较,所以可以借用它来对英文进行排序。
6.注意:如果对两个字符串型的数字直接进行比较,可能会得到不可预期的结果,在比较两个字符串型数字的时候,一定要注意将其中一个转换为number类型进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值