十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、用法
成都创新互联专注于辽中网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供辽中营销型网站建设,辽中网站制作、辽中网页设计、辽中网站官网定制、微信小程序定制开发服务,打造辽中网络公司原创品牌,更为您提供辽中网站排名全网营销落地服务。
都是用来比较值的。
2、比较过程
!= 比较时,若类型不同,会偿试转换类型;
!== 只有相同类型才会比较。
3、比较结果
!=返回同类型值比较结果 ;
!== 不同类型不比较,且无结果,同类型才比较;
4、举例
var num = 1; var str = '1'; var test = 1;
test !== num //false test与num类型相同,其值也相同,非运算肯定是false。
num != str //false == 的非运算。
num !== str //true num 与 str类型不同 意味着其两者不等,非运算自然是true啦。
扩展资料:
== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。
而=== 和 !== 只有在相同类型下,才会比较其值。
== equality 等同,=== identity 恒等。
==, 两边值类型不同的时候,要先进行类型转换,再比较。
===,不做类型转换,类型不同的一定不等。
“=”:这个表示赋值,不是表示运算符
“==”:表示等于(值)
“===”:表示全等于(类型和值)
( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,要理解立即执行函数,需要先理解一些函数的基本概念。
函数声明:
function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
函数表达式:
var fnName = function () {…};使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。
匿名函数:
function () {}; 使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数,匿名函数属于函数表达式,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等。
函数声明和函数表达式不同之处在于:
一、Javascript引擎在解析javascript代码时会‘函数声明提升'(Function declaration Hoisting)当前执行环境(作用域)上的函数声明。
而函数表达式必须等到Javascirtp引擎执行到它所在行时,才会从上而下一行一行地解析函数表达式。
二、函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用。
在function前面加!、+、 -甚至是逗号等到都可以起到函数定义后立即执行的效果,而()、!、+、-、=等运算符,都将函数声明转换成函数表达式。
消除了javascript引擎识别函数表达式和函数声明的歧义,告诉javascript引擎这是一个函数表达式,不是函数声明,可以在后面加括号,并立即执行函数的代码。
扩展资料
作用:
javascript中没用私有作用域的概念,如果在多人开发的项目上,你在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉。
根据javascript函数作用域链的特性,可以使用这种技术可以模仿一个私有作用域,用匿名函数作为一个“容器”。
“容器”内部可以访问外部的变量,而外部环境不能访问“容器”内部的变量,所以( function(){…} )()内部定义的变量不会和外部的变量发生冲突,俗称“匿名包裹器”或“命名空间”。
JQuery使用的就是这种方法,将JQuery代码包裹在( function (window,undefined){…jquery代码…} (window)中,在全局作用域中调用JQuery代码时,可以达到保护JQuery内部变量的作用。
||‘或’两边只要有一个为真的时候表达式就为真。!‘非’非后面的为真表达式就为假后面为假的表达式就是真的就是相反的意思。
Java Script程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句:赋值语句、switch选择语句、while循环语句、for循环语句、foreach循环语句、do,while循环语句、break循环中止语句、continue循环中断语句、with语句、try…catch语句、if语句。
与|的关系
在Java中||和|都是逻辑或运算符,两种逻辑或(||和|)的运算规则也基本相同。
|运算是把逻辑表达式全部计算完,而||运算具有短路计算功能。
对于|来说,如果左侧条件为true,也会计算右侧条件的值,而对于||来说,如果左侧的条件为true,则不计算右侧的条件,这种现象被称作短路现象。所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。
以上内容参考:百度百科-||
如下:
==,===相等运算符
!=,!==不等式运算符
= 赋值运算符
,||,!逻辑运算符
() 分组运算符
, 逗号运算符
?…: 条件(三元)运算符
|,,^,~按位OR,AND,XOR和NOT运算符
,, 位移位运算符
+,-运算符
++,--前/后增/减运算符
void operator
var x = function() vs function x()函数声明语法
= 箭头函数表达式语法
(function(){...})()IIFE (立即调用函数表达式)
someFunction()() 返回其他功能的功能
[],Array()数组符号
/.../ -正则表达式文字
$在正则表达式替换模式:$$,$,$,$’,$n`
{key: value} 对象文字语法:
可选的链接运算符(foo?.bar?.baz):
空位合并运算符(??)
function*,yield,yield* Declaring variables:
var,let,const变量声明:
this 关键词:
:: 绑定运算符:
new operator
delete operator
label: 标签
+=Operator
...iter 传播语法/ Rest参数
| Operator
** Power Operator
!!就是将所有其他类型都转换成boolean型
!!{} 就是true
!!'' 就是false
希望对你有帮助
一、js中的数字0就是false,非0为true,!表示取反。所以:
!0--false取反--true;
!!0--false双重取反--false;
!1--true取反--false;
!!1--双重取反--true;
!-1--true取反--false;
!!-1--true双重取反--true。
二、==和===:
==:先检查两个操作数数据类型,如果相同, 则进行===比较, 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较;===: 如果类型不同,直接就是false。
具体比较过程:
1、双等号==:
(1)如果两个值类型相同,再进行三个等号(===)的比较。
(2)如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:
如果一个是null,一个是undefined,那么相等。
如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较。
2、 三等号===:
(1)如果类型不同,就一定不相等。
(2)如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等。(判断一个值是否是NaN,只能使用isNaN( ) 来判断)。
(3)如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。
如果两个值都是true,或是false,那么相等。
如果两个值都引用同一个对象或是函数,那么相等,否则不相等。
如果两个值都是null,或是undefined,那么相等。
扩展资料:
在js做比较的时候,有这样的三条规则:
1、如果比较的两者中有bool,会把 bool 先转换为对应的 number,即 0 和 1。
2、如果比较的双方中有一方为number一方为string,会把string转换为数字。
3、把string直接转换为bool的时候,空字符串‘'转换为 false,除此外的一字符串转换为 true。
参考资料:
百度百科--比较运算符