全栈Js数值类型转换,运算符关系比较和运算符优先级

类型转换

《全栈Js数值类型转换,运算符关系比较和运算符优先级》

数值类型转换!

《全栈Js数值类型转换,运算符关系比较和运算符优先级》
![](https://img-blog.csdnimg.cn/20191218103639722.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3gzNDU4OTIyMDQ1,size_16,color_FFFFFF,t_70)
《全栈Js数值类型转换,运算符关系比较和运算符优先级》
在这里插入图片描述
《全栈Js数值类型转换,运算符关系比较和运算符优先级》

字符串类型转换种方式:

toString()
String()
toString()string()转换的区别
toString()不能转换nudefined和null
String可以转换所有类型

在这里插入代码片
var a=10;
console.log(typeof(String(a)))//数值类型转换
console.log(typeof(toString(a)))

布尔类型转换

在这里插入代码片
	var a = 0;          
		var b = '1011';
		var c = [];
		var d= '';
		var e =' ';
		var f = null;
		var g = undefined;


       alert(Boolean(a));
       alert(Boolean(b));
       alert(Boolean(c));
       alert(Boolean(d));
       alert(Boolean(e));
       alert(Boolean(f));
       alert(Boolean(g));
       	 	// -1
         //false true true false  true  fasle  true 
         
         //false true true false  true  true  false 
         

         // +1
         //false  true true false true false  false
         

         // false true true fasle true fasle false 
      
         //false  true true false true false  false
     




		// 布尔 强制转换  Boolean(变量)

		// alert(typeof Boolean(g) ) 
		 // 隐式转换:  比较运算符  <  > <= >= == === != !== 

		 // 数据类型 -- 分类  1.数值型   2.引用类型

		 // 在比较时  数值型数据类型 比较的是数值
		 // 引用类型数据在比较时 比较的是存储地址 


		 // alert(c==d)
          
      


		 false

运算符

1算术运算符和a++ ++a的区别

《全栈Js数值类型转换,运算符关系比较和运算符优先级》

赋值运算符

< > /= *= -= +=

逻辑运算符

《全栈Js数值类型转换,运算符关系比较和运算符优先级》

比较运算符《全栈Js数值类型转换,运算符关系比较和运算符优先级》

条件运算符(三目)

条件?语句1:语句2:

在这里插入代码片
    var a=Number(prompt('输入一个数字'))
    var b=Number(prompt('输入一个数字'))
    a>b? alert('a大于b'):alert('a小于b')

运算符总结《全栈Js数值类型转换,运算符关系比较和运算符优先级》

运算符优先级

最基本的运算符优先级就是所谓的“ 先乘除, 后加减” 。

对于优先顺序处于同一层次上的运算符, 按照从左到右出现的顺序计算。

typeof 是优先级别最高的运算符之一。

如果你不确定你所使用的运算符的优先级,最简单的办法就是使用圆括号来强行指定运算次序。
赋值运算的优先级非常低,通常都是最后执行。
运算符的结合性
概念:相同优先级的运算符在同一个表达式中,且没有括号的时候,运算符和操作数的结合方式。**
通常有从左到右结合和从右向左结合两种方式。**
(左结合性****右结合性**)

void运算符的应用场合

void是一个操作符,该操作符指定要计算一个表达式但是不返回值。**

void 操作符用法格式如下:*

1. javascript:void (expression)*

2. javascript:void expression*

expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。**

javascript:void(0)表示不做任何动作。Eg:**

这里表示这个链接不做跳转动作,执行onClick事件。**

2.5 关系表达式

2.5.1 关系表达式的概念

**概念:**将同类型的数据(如常量、变量、函数等),用运算符号按一定的规则连接起来的、有意义的式子称为表达式。

关系表达式用于测试两个值之间的关系,根据关系返回true或false。关系表达式总是返回一个布尔值。通常在ifwhile、或者for语句中使用关系表达式,用于控制程序的执行流程。

比较相等不相等

  • ===
    恒等运算符或严格相等运算符,比较过程没有类型转换。
  • !== 不严格相等
    ===的求反
  • == 相等运算符
    这个相等比较宽松,可以允许类型转换。
  • != 不相等
    ==的结果求反

javascript对象的比较是引用的比较,不是值的比较。对象只和其本身相等。

对象向原始值的转换规则:日期类通过toString()转换,其他的先通过ofValue()转换,如果没有ofValue(),再通过toString()转换。

===比较规则:
1.类型不同则不等
2.其中一个是NaN则不等,NaN和自己都不等
3.两个是字符串,必须编码、长度和每个位上字符一样才相等
4.对象、数组和函数,必须指向相同的引用才相等

==比较规则:
1.类型相同则按===的2 3 4 条比较
2.类型不同比较,先按以下转换再通过上面的2 3 4 比较:

  • null == undefined //相等
  • 数字和字符串比较,将字符串转换为数字
  • true转换为1,false转换为0
  • 其中一个是对象,把对象转换为原始值。
true == '1' //结果为true, true会转换为数字1,'1'也会转换为数字1

比大小

  • < 小于
  • > 大于
  • <= 小于等于
  • >= 大于等于

只有数字和字符串才能比较大小,如果操作数不是这两种类型,会进行类型转换。

比大小的规则:

  1. 如果操作数有对象,则转换为原始值;
  2. 如果两个操作数都是字符串,将按照字母表顺序依次比较每位字符;
  3. 如果有一个操作数不是字符串,则两个都转换为数字;
  4. 有一个操作数是NaN,则结果为false;
  5. Infinity比任何数字都大,-Inifity比任何数字都小。

字符串比较使用String.localCompare()方法更加可靠。

加号和比较运算符都可以对字符串和数字比较,但加号优先转换为字符串,比较运算符优先转换为数字。

in运算符

判断对象是否有某个属性: 如果存在 就返回true 否则返回false!

左侧操作数是字符串,如果不是会转换为字符串;
右侧操作数是对象。

var person = {name:'Mike',age:23}
'name' in person //true

instanceof运算符

判断一个对象(左操作数)是否是类(右操作数)的实例。

javascript中类是通过构造函数定义的,所以右操作数就是个函数。

var d = new Date()
d instanceof Date //true
d instanceof Object //true,所有的对象都是Object的实例
  1. instanceof判断也包括父类;
  2. 左操作数不是对象的话,返回false;
  3. 右操作数不是函数的话,抛出类型错误异常。

转义字符

一、转义字符什么时候使用:
//1、在每门计算机语言里,都有一些字符代表着特殊意义。
//如果,我们需要使用字符的本意(如:我就希望使用左尖括号),就得用转义字符
//2、有些字符是没有直接输出的。就需要转义字符;如:回车;

//如:在HTML里,左尖括号代表标签开始,右尖括号代表标签结束。
//如果,我们需要使用字符的本意(如:我就希望使用左尖括号),就得用转义字符。
//如:在JS中,双引号表示字符串的开始和结束,如果,我们就像使用双引号,就得用转义字符。

二、js中转义字符的格式: 以反斜杠开始后面跟一个字符;

// 如: ” 表示双引号;’ 表示单引号; \ 表示反斜杠(第一个反斜杠是转义字符的开始,第二个反斜杠才是真正的反斜杠)
// 如: \n 表示换行

alert(“hello””);
alert(“hello \n world”);

三、js常见的转义字符:

转义序列 字符

\b 退格(BS 或 ASCII 符号 0x08 (8))
\f 换页(FF 或 ASCII 符号 0x0C (12))
\n 换行(LF 或 ASCII 符号 0x0A (10))
\r 回车(CR 或 ASCII 符号 0x0D (13))
\t 水平制表符(HT 或 ASCII 符号 0x09 (9))
\’ 单引号
\” 双引号
\& &(and)符号
\ 反斜杠
————————————————

    原文作者:奈何桥下轮回
    原文地址: https://blog.csdn.net/x3458922045/article/details/103600290
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞