Java教程

javascript学习笔记(二)

本文主要是介绍javascript学习笔记(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

我来更新新的学习总结啦!
在这里插入图片描述
4.Null
Null(空值)类型的值只有一个那就是null,null这个值专门用来表示一个空的对象
我来检测一下null值的数据类型,如下:
在这里插入图片描述
在这里插入图片描述
这里我们看到null的数据类型返回的是object!
注意我们用typeof来检查一个null值时,返回的不是null类型而是object!!

5.Undefined类型
Undefined(未定义)的值也只有一个就是undefined
当我们声明一个变量,但并不给变量赋值时,它的值就是undefined
在这里插入图片描述在这里插入图片描述
注意未定义不是为声明!如果未声明应是下图所示结果:
在这里插入图片描述
我们在未声明b的情况下,在控制台打印b
在这里插入图片描述
所以未定义和未声明是两个概念!
当使用typeof检查undefined时返回的也是undefined
在这里插入图片描述
在这里插入图片描述
五个基本数据类型到此就全部结束啦!

强制类型转换

指将一个数据类型强制转换为其他的数据类型
类型转换主要指,将其他的数据类型,转换为string Number Boolean

1.将其他类型数据转换为String
在这里插入图片描述
在这里插入图片描述
我们在控制台输出它的类型和结果,现在是number型那如何把它变成string类型,直接在a=111那里加引号可不可以?试一试
在这里插入图片描述
在这里插入图片描述
可以看到确实变成了string类型,但是这个不叫转换了,这是直接去修改了!
那用什么方法才能做到数据类型的转换呢?往下看。
方式一
调用被转换数据的toString()方法,严格注意大小写!!!!
简单来说就是被转换数据.toString()
那么这里就是调用a的toString()方法即a.toString() (调用xxx的yyy方法,就是xxx.yyy())
我们来试一试:
在这里插入图片描述
在这里插入图片描述
发现它跟之前没啥区别并没有成功转换,咋回事嘞?
注意该方法不会影响到原变量,它会将转换的结果返回!
所以我们要将执行结果赋值给其它东西,如下:
在这里插入图片描述
在这里插入图片描述
这里就成功转换成了string类型,或者直接让a=a.toString()也行
在这里插入图片描述
同样成功返回!
但是这种方法比较局限,往下看
在这里插入图片描述
我们知道null返回的类型应该是object,但是我们进行转换呢?
在这里插入图片描述
它报错了,既然null不行我们再来试试undefined
在这里插入图片描述
同样的报错了!
所以这里注意:null和undefined这两个值没有toString()方法,如果调用了他们的方法就会报错!

方式二
调用String()函数,并将被转换的数据作为参数传递给函数,如下所示:
在这里插入图片描述
在这里插入图片描述
那我们现在再来试试之前用方式一没转换出来的null和undefined
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们看到利用调用函数的方法我们成功将这两个的类型给转换了。
使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但对于null和undefined就不是而是直接将null转换为"null",undefined转换为"undefined"

2.将其它数据类型转换为Number
方式一
调用Number()函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功转换。
那如果a = 'aaa’呢,引号里面不是数字而是字母会怎么样?
在这里插入图片描述
在这里插入图片描述
转成了NaN,不是一个数字。
所以这里注意:
字符串–>数字
1.如果是纯数字的字符串,则直接将其转换为数字;
2.如果字符串中有非数字的内容,则转换为NaN;
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0;

在这里插入图片描述
在这里插入图片描述

**布尔–>数字
true转成1
false转成0
**
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
null转数字也是0
在这里插入图片描述
在这里插入图片描述
undefined转数字是NaN
在这里插入图片描述
在这里插入图片描述
我们看这样的一个例子数字和字母混合在一起的字符串该怎么转?
在这里插入图片描述
在这里插入图片描述
返回了NaN。怎么办?看方式二。

方式二
这种方式专门用来对付字符串
parseInt()把一个字符串转换为一个整数 (可以将字符串中有效的整数内容读取出来)
parseFloat()把一个字符串转换为一个浮点数
简单来说就是一读到不合法字符就结束。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果以后想取整可以间接利用一下它

那我们要小数怎么办,就用parseFloat()用法和前面类似
在这里插入图片描述
在这里插入图片描述
如果对非String使用parseInt()或parseFloat()它会先将其转换为String,然后在操作
在这里插入图片描述
在这里插入图片描述

4.其它进制的数字
如果我们想在JS中表示16进制的数字要以0x开头
在这里插入图片描述
在这里插入图片描述
表示8进制数字,则需以0开头
在这里插入图片描述
在这里插入图片描述
如果要要表示2进制的数字,则需要以0b开头
但是不是所有的浏览器都支持
在这里插入图片描述
在这里插入图片描述
内置浏览器不知道输出了个啥,反正不对,我也没想到它还能输出出来,正常来说用内置浏览器运行会报错。
我们换火狐运行试一下啊!
在这里插入图片描述
等于2,这次对了!
在这里插入图片描述
看这次放到IE浏览器运行就报错了。
像"0xxx"这种字符串有些浏览器会当成8进制解析,有些会当成10进制解析.
对于这种情况我们使用parseInt()来进行第二个参数的传递,来进行一个统一的规定按照某个进制解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.转换为Boolean
只有一种方法使用Boolean()函数
在这里插入图片描述
在这里插入图片描述
转成布尔值只有两种情况true或者false
在这里插入图片描述
在这里插入图片描述
注意数字转布尔值除了0和NaN其它都是true
在这里插入图片描述
在这里插入图片描述
字符串转布尔值除了空串都是true
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
null和undefined都会转换为false
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对象也会转换为true,后面学到了我会补充

算数运算符

运算符也叫操作符,通过运算符我们可以对一个或多个值进行运算。(运算符都是会返回结果的)
例如typeof就是一个运算符,它可以获得一个值的类型,它会将该值的类型以字符串的形式返回,返回的字符串是用来描述值的类型的。
算数运算符
当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算(除了字符串的加法)
任何值和NaN做运算都得NaN

1.+ 对两个值进行加法运算,并将结果返回
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们看到它把true和false分别当成1和0进行运算
在这里插入图片描述
在这里插入图片描述
如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回
在这里插入图片描述
在这里插入图片描述
任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
在这里插入图片描述
在这里插入图片描述
我们可以利用这一特点, 来将一个任意的数据类型转换为String我们只需要为任意的数据类型+ 一 个""(也就是空串)
这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里还有一种写法是为了看清控制台输出的是什么。
在这里插入图片描述
在这里插入图片描述
比如我这里的111是字符,但在控制台看不出来。
在这里插入图片描述
利用这种写法我们就能在控制台看到”a = 111“的形式

2.- 可以对两个值进行减法运算,并将结果返回
注意只有字符串的加法会拼接,其它都是转换成number值运算,拼接只是加法运算里的特例
3.* 可以对两个值进行乘法运算,并将结果返回
4./ 可以对两个值进行除法运算,并将结果返回
**任何值做- * / 运算时都会自动转换为Number
我们可以利用这一特点做隐式的类型转换
可以通过为一个值 -0 *1 /1来将 其转换为Number
**
在这里插入图片描述
在这里插入图片描述
原理和Number()函数一样。
5.% 取模运算(取余数)
在这里插入图片描述
在这里插入图片描述

一元运算符

在上面我们说到的加减乘除都是二元运算符,在进行计算时,它们需要至少两个操作数,而一元运算符只需要一个操作数就行了。
+ 这里指的是正号,正号不会对数字产生任何影响
在这里插入图片描述
在这里插入图片描述
- 这里指的是负号,负号可以对数字进行负号的取反
在这里插入图片描述
在这里插入图片描述
如果a=布尔值或者字符串
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里注意:对于非Number类型的值,它会将先转换为Number,然后在运算
可以对一个其他的数据类型使用+,来将其转换为number它的原理和Number()函数一样

自增和自减

自增++
通过自增可以使变量在自身的基础上增加1
对于一个变量自增以后,原变量的值会立即自增1
自增分成两种:后++(a++)和前++(++a)
无论是a++还是++a,都会立即使原变量的值自增1
不同的是a++和++a的值不同
a++的值等于原变量的值(自增前的值)
++a的值等于新值(自增后的值)
这里我们用一个复杂点的例子来进行说明
在这里插入图片描述
在这里插入图片描述
为什么等于34,我们来分析一下,首先a=10,所以a++就等于原值即自加前的值也等于10,做完a++后a的值立刻自增1,此时的a不等于10了而是11,所以++a的值是11自增后的值即为12,做完++a之后a的值又立刻自增1,故此时的a值不等于11而是12,所以为10+12+12=34
大家细细感受一下,不要绕晕了。

自减 –
通过自减可以使变量在自身的基础上减1
自减分成两种:后–(a–)和前–(--a)
无论是a–还是–a都会立即使原变量的值自减1
不同的是a–和--a的值不同
a–是变量的原值(自减前的值)
在这里插入图片描述
在这里插入图片描述

–a是变量的新值(自减以后的值)
在这里插入图片描述
在这里插入图片描述
自减运算和自增差不多,对比着记忆一下,掌握了一个另一个自然就会了
大家可以自己设置几个数去运算尝试一下,看看能不能理清

时间过的真快,这次的总结到这又得结束了!
在这里插入图片描述
未完待续…

最近SQL注入攻击的学习笔记已经发布,感兴趣的看官可以移步我那篇文章,我将链接贴在下方,还望各位看官多多支持!
SQL注入学习笔记(一周一更)
在这里插入图片描述
在这里插入图片描述

这篇关于javascript学习笔记(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!