JavaScript初步理解

JavaScript的数据类型

数据:有用的信息
数据类型:数据的分类,保存在内存中的数据的类型,决定了数据在内容中占有多大的空间

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

1.字符串(string)

字符串是储存字符的变量
字符串可以是引号中的任意文本,可以使用单引号或者双引号
我们也可以在字符串中使用引号,只要不匹配包围字符串的引号即可
单引号 ‘’
双引号 “”
`,模板字符串
在字符串中,如何表示一个特殊字符,可以使用转移符(\)

2.数字(Number)

可以表示32位(4字节)的整数,也可以表示64位(8个字节)的浮点数,JavaScript只有一种数字类型,数字可以带小数点,也可以不带:极大极小的数字可以通过科学(指数)计数法来书写

3.布尔(Boolean)

布尔(逻辑)只能有两个值:true或false
布尔常用在条件测试中。
注意:在实际运算中,true当做1运算,false当做0运算

4.Undefined 和 Null

Undefined 这个值表示变量不含有值。
表示未定义,不存在
语义:访问的数据不存在
null:表示 空,不存在
可以通过将变量的值设置为 null 来清空变量。
null 和 undefined ,他们之间相等,和其他原始数据类型比较,则不相等

typeof 运算符 typeof() 函数
得到数据的类型
在数据前加上 typeof

  • 返回值有: number string boolean object undefined function

JavaScript运算符

操作数: 参与运算的数据,称之为’元’
操作符:运算符(operator),参与运算的符号
一元(目)运算符:

.访问符号,用于访问对象的属性
[]访问符号,用于访问对象的属性
()函数调用
++将某个变量的值自增1
--将某个变量的值自减1

二元运算符:
"+" 加
(隐式转换
加法运算 两边的操作数都是number
拼接 两个操作数只要有一个是string)

"-" 减
减法运算
负数
隐式转换

**"*"   乘**
乘法运算

"/" 除
(除数为0
结果为无穷
被除数是正数,得到结果为Infinity
被除数是负数,得到结果为-Infinity
被除数为0 除数为0 得到结果:NaN(Not a Number 非数字)
isNaN()函数,该函数用于判断一个数据是否是NaN,返回boolean
isFinite()函数,判断一个数据是否是有限的,返回boolean)

"%" 余
(余数的符号,与被除数相同。
取余的用途:
奇偶数的运算
倍数的运算
获取某个数的指定位置的数字)

"=" 等于(赋值运算符)

++ --
自增、自减
在多个表达式放到一起计算时候:注意运算顺序(从左到右)
如果遇到操作数直接替换值
比较运算符

三元(目)运算符: ? :

表达式 = 操作符 + 操作数
每个表达式都有一个运算结果 ,该结果叫做 返回值
返回值的类型叫做 返回类型

运算符的优先级

从高到底依次是:
++ --
* / %
+ -

  1. 从左到有依次查看
  2. 如果遇到了操作数,将数据的值直接取出
  3. 依次比较两个相邻的运算符,如果左边的运算符优先级大于右边的,这直接云运算左边的操作符
    如果想提升优先级:加()
var b = true;
b = +b;
console.log(b);//1

+在变量之前
如果字符串内部是一个正确的数字,直接变为数字 ,如果是一个非数字,则得到NaN
如果一个空字符串(没有任何内容),转换为0;字符串转换时,会忽略前后空格

比较运算符 算数的优先级高于比较运算符

> < >= <= == != === !==

比较运算符的返回类型:boolean
NaN和 负无穷 (-Infinity)比较的话NaN要大

Infinity(正无穷)比任何数字都要大
-Infinity(负无穷)比任何数字都要小

== 和 ===的区别

==:比较两个数据是否相等
== 两端类型相同,直接比较两个数据本身是否相同 (两个对象比较的是地址)
== 两端类型不相同
===:两端类型和数据必须都行相同

逻辑运算符

&& 逻辑与,可以理解为并且的意思.
|| 逻辑或,可以理解为或者的意思,也就是条件可以2取一
! 逻辑非 (一元表达式)

逻辑与运算:&&

只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
总结:假前真后

逻辑或运算:||

只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
总结:真前假后

逻辑非(!)

如果一个操作数是一个对象,返回false;
如果一个操作数是一个空字符串,返回false;
如果一个操作数是一个非空字符串,返回false;
如果一个操作数是一个数值0,返回true;
如果一个操作数是任意的非零字符,返回false;
如果一个操作数是null,返回true;
如果一个操作数是NaN,返回true;
如果一个操作数是undefined,返回true;

短路规则

先看第一个表达式转换为布尔值得结果,如果结果为真,那么它会看第二个表达式转换为布尔值得结果
然后如果只有两个表达式的话,只看到第二个表达式,就返回该表达式的值
返回第一个为假的表达式,如果没有假的,返回最后一个

三元条件运算符

格式: 表达式1?表达式2:表达式3
说明:如果表达式1为true ,则整个表达式的结果就是表达式2的值,如果表达式false,则整个表达式的结果就是表达式3的值.

例子:
1、使用三元运算符计算2个数的最大值

<script type="text/javascript">
var a,b,c;
a=window.prompt("第1个数");//从页面中接受的是字符串
b=window.prompt("第2个数");
c=Number(a)>Number(b)?a:b; //将字符串转换为数字再进行比较
document.write(c);
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值