JavaScript基础(三)

发布于:2024-05-05 ⋅ 阅读:(35) ⋅ 点赞:(0)

JS的数据类型

数据类型+解释

undefined 

如var num;变量num没有初始值将被赋予undefined[基本数据类型]。

null

表示一个空值,与undefined值相等[对象]。

number

例:var num=10; //整数,var num=10.5; //浮点型。

boolean

布尔型,true和false。(严格大小写)

string

被引号(单引号或双引号)括起来的文本,如:var string1="你真帅";

object

属性集合,每个属性都由"名/值"成对构成,如{name:'小明',age:12}(最后一个没有逗号)

 

typeof 变量名; 可查看变量是什么数据类型,

这里我们就用typeof验证前面的数据类型:

<script>

//声明一个变量

    var a;

//用另一个变量接收一下typeof

    var nam = typeof a;

//可以用alert或console.log();打印出来看一下,

//这里用alert更直观

    alert(nam);

</script>

ff1a994e2c8a46ee81b5081572249a7c.png

 这里写一个打打样,后面以下照着样式就能验证,类型在后面标注好了

var a;  //undefined

var a=null;  //object

var a=10;  //number

var a=10.5;  //number

var a=true;  //boolean

var a="10";  //string

object单独写一下:

<script>

    var a={

        name:'小明',

        age:18,

        hobby:'js'

    };

    var nam = typeof a;

    alert(nam);

</script>

cd7253e5fc814543914f2a7f2db17b1a.png

算术运算符

运算符类型与相应运算符

算术运算符          +, –, *, /, %, ++, ––.

赋值运算符          =

比较运算符          >,  <,  >=,  <=,  ==,  !=

逻辑运算符          &&, ΙΙ, !

+:加号

<script>

    var a=1;

    var b=2;

    var c=a+b;

    console.log(c);

</script>

2aafee8017d64b0e97b1a7075a79db32.png

那当a与b数据类型不同,比如b是string字符串类型,此时+就起到了拼接的作用:

<script>

    var a=1;

    var b='2';

    var c=a+b;

    console.log(c);

</script>

45cb4ea178694218aae2bbc8e02fc98a.png

 那拼接后的变量c的数据类型是什么呢?

 console.log(typeof c);看一下

4fad57f5610e4d548218f4bb3431d89f.png

可以看到它这个c转成了引用数据类型,为啥?这是因为number存储的长度比string存储长度短。

就好比两个桶,都装着水,一个大一个小,我们不知道水有多少,倒在一起,肯定是倒进大桶里。

加号也可以实现内容的拼接,如:

console.log('输出结果是:'+ c);

b476e386a4fd400d885d546b2143e9ac.png

这和我们之前说过的java是一样的,不只是java对于这些语言类,他们很多知识都是相通的。

–:减号

<script>

    var a=1;

    var b=2;

    var c=a-b;

    console.log(c);

</script>

b6af189f9f0e4729b7c640020ffe32a6.png

 如果我们再把b数据类型变一下

<script>

    var a=1;

    var b='2';

    var c=a-b;

    console.log(c);

</script>

01e774b7bf2c4cf3b0aff0e19d349d87.png

结果没变,因为减法会对变量做隐式转换,只要能转成number类型,全部转成number类型再运算。

如果无法转换成number类型,将无法运算,返回结果NaN(not a number)。

9e5690fea1b8474cb211e708711057c1.png

*:乘法

<script>

    var a=1;

    var b='4';

    var c=a*b;

    console.log(c);

</script>

1c182693c86f4ce19baa4e75946996c9.png

也是可以进行隐式转换的,不能转也返回NaN

除法/也一样,就不看了。

取余:%

<script>

    var c=10%3;

    console.log(c);

</script>

0f097fc931814c8586c230ea9d8e5eb7.png

 当被除数小于除数时取本身。

//取余知道了,那怎么取商?

var c=10/3;

console.log(c);

9d5b69467ac34db5b58afeeb2c5a4e6f.png

 带一串余数,只想要商,这么整:

console.log(parseInt(c));

6973942c02a3470f835774db8c058889.png

 //这个它是不存在四舍五入的。

赋值运算

<script>

    var a=1;

    var b=2;

    //ab值互换,借助中间变量

    var c=a;

    a=b;

    b=c;

    console.log('a的值是'+a);  

    console.log('b的值是'+b);

</script>

01450d68ae3941b79ef64202b7557d18.png

 比较运算符

比较简单,没啥说的,==:判断值是否相等。

===:①判断数据类型是否相等,②值是否相等。(全等)

++自增 和 --自减

++自身加1,num++: num=num+1;

--自身减1,num--: num=num-1;

<script>

    var num =10;

    num++;

    console.log(num);

</script>

a207b40746134ca9b53d9890d7f9057a.png

//++在前,先运算再赋值

//++在后,先赋值再运算。