javascript基础:等号比较

包括==与===运算符,前者为宽松判断相等,如果两者类型不同前面的比较值将进行类型转换,后者为完全相等判定。

1、数字、字符串和布尔值通过值比较

==与===检测前后两者是否相同,只当它们存放的值完全相同时才相等。

var a = ‘a‘;
var b = ‘a‘;
console.log(a==b,a===b);

true true

var a = String(‘a‘);
var b = String(‘a‘);
console.log(a==b,a===b);

true true

js中的数字都为浮点数,不存在整型转为浮点型的问题

var a = 1;
var b = 1.0;
console.log(a==b,a===b);

true true

var a = 1;
var b = true;
console.log(a==b,a===b); // ==前面的a进行类型转换,转为布尔值

true false

2、对象、数组和函数之间使用引用比较。

数组和函数是对象的特殊形式。

如果对象的存放地址不同,如何都不相等。

var a = [2,3];
var b = [2,3];
console.log(a==b,a===b);

false false

var a = [2,3];
var b = a;
console.log(a==b,a===b);

true true

3、特殊的NaN

NaN与任何数值、对象比较都不相等,包括它自身。

var a = 2;
var b = 0/0;
console.log(b,a==b,a===b,b==NaN);

NaN false false false

4、null与undefined的比较

这两个基本类型的比较与数字、字符串的比较是一样的。

var a = null;
var b = undefined;
var d;
console.log(d,a==b,a===b,b===d,d===undefined);

undefined true false true true

5、对象与字符串比较

js内部会将对象转换成原始类型的值进行比较,通常先尝试valueOf方法,再尝试toString转换。

var a = ‘[object Object]‘;
var b = {};
console.log(a==b,b.toString());

true [object Object]

唯一例外的是js中的核心对象Date,它直接使用toString()方法转换。

var a = new Date(2016,04,15);
var b = 1463241600000;
var c = ‘Sun May 15 2016 00:00:00 GMT+0800‘;
console.log(a==b,a==c,a.valueOf(),a.toString());

false true 1463241600000 Sun May 15 2016 00:00:00 GMT+0800

时间: 2024-10-20 22:30:07

javascript基础:等号比较的相关文章

JavaScript基础—插曲

Javascript基础 1:js中我们最好使用单引号,其实可以使用双引号的但是为了区别所以js中全部使用单引号.注释和C#的是一样的.网页里面的执行顺序是从上到下依次执行的,不管你js放到哪里,都会按照顺序进行执行的.若是js中出现了错误,只是不继续执行此js中<script></script>的代码,但是网页中其余的js代码还是会执行的. 2:书写js代码的时候我们必须为其加上分号,这样的好处有二:1,可以便于压缩:2,提高了代码的可读性,可维护性. 3:js中的数据类型. 我

前端之JavaScript基础

前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C-minus-minus(C-)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本

JavaScript 基础学习1-day14

JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator

web前端【第五篇】JavaScript基础

一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的

JavaScript基础入门07

目录 JavaScript 基础入门06 BOM window对象 Navigator对象 Screen 对象 Location对象 History 对象 JavaScript 基础入门06 BOM 当js的运行环境为浏览器时,学习js应该将其分成三个部分:ECMAScript核心语法.BOM.DOM. BOM我们可以将其称之为浏览器对象模型,主要描述了与浏览器进行交互的方法和接口. IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 - BOM(浏览器对象模型),可

javascript入门书籍推荐《javascript基础教程》

前段时间看javascript高级教程的时候,发现很多基础的javascript概念,自己不懂. 网上搜了一下,看到大家对<javascript基础教程(第8版)>评价不错,买了一本. 作者: (美)Tom Negrino Dori Smith 译者: 陈剑瓯 柳靖 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 翻开看了后,受益匪浅,决定将这本书推荐给javascript的入门童鞋. 这本书的读者,要有一定的HTML基础,因为javascript基本都是对Dom的操作,所以,有一定的HT

js基础--javascript基础概念之语法

掌握一门语言 必须先掌握它的语法! javascript 的语法和C.Java.Perl 的语法有些相似.但是比它们更加宽松. javascript 中的一切都是严格区分大小写的.例如变量: demo 和 Demo 两个变量是完全不同的. javascript 标示符,所谓标示符 是指 变量.函数.属性 的名字或函数的参数.标示符的格式是按照以下规则组合的一个或多个字符. 1.第一个字符必须是字母,下划线,或 $ 符号. 2.其他字符可以是字母.下划线.$ . 或数字. 注意 不能把关键字 保留

Javascript.01 -- Javascript基础

Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和sun合作. Java+script   ===> javascript 1.2 W3c规范 ?结构标准        html ?表现标准   css ?行为标准      js 1.3 JavaScript和ECMAScript的关系 ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协

javascript基础学习(十五)

javascript之cookie 学习要点: cookie介绍 创建与获取cookie cookie的编码 cookie的生存期 cookie的路径 cookie的domain cookie的secure 一.cookie介绍 cookie实际上就是一些信息,这些信息以文件的形式存储在客户端计算机上.在javascript中,cookie主要用来保存状态,或用于识别身份. 二.创建与获取cookie 创建cookie的语法代码如下所示:document.cookie="name=value&q

javascript基础学习(八)

javascript之日期对象 学习要点: 日期对象 将日期对象转换为字符串 将日期对象中的日期和时间转换为字符串 日期对象中的日期 日期对象中的时间 设置日期对象中的日期 设置日期对象中的时间 与毫秒相关的方法 一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date(); 二.将日期对象转换为字符串 将日期对象转换为字符串可以使用以下4种方法: date.toString();//将日期对象转换为字符串时,采