今天,天气不晴朗。

  闲来无事随便看了看廖大的JavaScript教程,本人愚钝,作此随笔摘录几点以便日后学习。

比较运算符

  先看个简单例子:

  在上图中我们很容易看出对于JS来说“==”和“===”并不相同,那么区别在何处呢?我们接着往下看。

   原来是这样的:

JavaScript在设计时,有两种比较运算符:

第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;

第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。

  由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。【切记切记!!】

同样的,浮点型数据的相等比较同样需要注意,比如:

  

  why?因为:

  

  这样就很容易理解了。

  当然,这并不是JavaScript的设计缺陷,而是计算机的缺陷,毕竟图样嘿嘿嘿。

  浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数。那么我们该如何比较两个浮点数?

    廖老师在教程里告诉我:

      要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值:

Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
 

 

  

  这个阀值并不能过于精确。

看来做人也要向计算机学习,是不能斤斤计较的啊。

END , thanks.

转载于:https://www.cnblogs.com/maoguy/p/5405114.html

JavaScript数据类型和变量学习小记相关推荐

  1. JavaScript - 数据类型和变量

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  2. c语言取变量数据类型,C语言数据类型和变量

    <C语言数据类型和变量>由会员分享,可在线阅读,更多相关<C语言数据类型和变量(75页珍藏版)>请在人人文库网上搜索. 1.第3章C数据类型和变量,学习目的和要求: 掌握数据类 ...

  3. c语言中将32位值赋给16位变量,C语言数据类型和变量-参考.ppt

    C语言数据类型和变量-参考 第3章C数据类型和变量 学习目的和要求: 掌握数据类型和变量的基本概念.特点和使用方法 . 熟练掌握算术.赋值.逗号和sizeof运算符与表达式的使用 . 理解并能应用强制 ...

  4. JavaScript第二章——变量及数据类型 2021-09-26

    前言 新手小白JavaScriptt(第二章--变量及数据类型 2021-09-26)学习笔记,欢迎大佬多留言指导,跪谢!!! 一.变量声明 变量:从字面上看,变量是可变的量.从编程角度讲,变量是存储 ...

  5. [JavaScript]基础(变量、数据类型)

    一.变量 1. 变量概述 ① 什么是变量 白话:变量就是一个装东西的盒子. 通俗:变量是用于存放数据的容器. 我们通过 变量名 获取数据,甚至数据可以修改. ②变量在内存中的存储 本质:变量是程序在内 ...

  6. html js定义一个变量的值,JavaScript的数据类型与变量的解析(附示例)

    本篇文章给大家带来的内容是关于JavaScript的数据类型与变量的解析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 这篇文章,来聊聊 JS 中的数据类型与变量.这是在学 ...

  7. JavaScript基础第01天—编程语言—计算机基础—初始JavaScript—JavaScript注释—JavaScript输入输出语句—变量的使用—数据类型—关键字和保留字

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  8. Javascript一(变量,数据类型,正则表达式,数据,语句)

    本文章适合具有一定程序编程语言基础的人士阅读,最好学完Java基础再来阅读本文章更容易理解语言初学者会看起来比较费劲,不易理解 一.导入脚本 在html导入Javascript的格式是: <sc ...

  9. python 声明变量类型_python基础学习03数据类型和变量

    数据类型和变量 1. 数据类型 1.1 整数 Python中不限制整数正负及大小,例如:1,-1,100,-100等等.计算机常用十进制和十六进制表示数值,比如十六进制表示方法是用前缀0x加后缀0-9 ...

最新文章

  1. socket与TcpListener/TcpClient/UdpClient 的区别及联系
  2. python基础教程博客_python基础教程(一)
  3. SQL优化常用方法41
  4. Python之max(num, key=lambda x:x[0])用法的详细解析
  5. spring事务管理一:关于事务管理的接口
  6. 在控制台显示sql语句,类似hibernate show_sql.
  7. android工程师饱和,Android开发是否饱和了?你所不了解的Android开发
  8. 【C语言】shape of you
  9. scrolling=no 无法根据坐标获取元素_科曼尼KOMANIE三坐标测量仪命令不执行【维修】北京303所...
  10. 新浪的动态策略灰度发布系统:ABTestingGateway
  11. easyexcel 导入指定_阿里巴巴EasyExcel使用(3)-导入
  12. Tomcat详解(二)——tomcat安装与配置
  13. Vivado 2019.1下载与安装
  14. 【解决方案】SkeyeVSS石油油田钻井无线智能视频监控系统解决方案
  15. 微信如何找到位置服务器,如何查找微信好友的位置?
  16. 大道至简---软件工程实践者的思想--------------第二章读后感---是懒人造就了方法...
  17. 第四章 信道与信道容量
  18. 设计师网页导航 php,设计师必须收藏的7个网址导航
  19. 2022年6月语音合成(TTS)和语音识别(ASR)论文月报
  20. 创造性思维与创新方法案例

热门文章

  1. openstack cluster 封装
  2. 浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
  3. Eboot 编译编译器决定中断向量及其实现单一性的原因
  4. Gson 字符串与对象相互转换工具类
  5. Android Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE解决办法
  6. Spring的配置文件详解
  7. Android系统KeyStore (AndroidKeyStore): 存储密钥
  8. win10 cortana 搜索无效怎么解决
  9. MapReduce框架中map、reduce方法的运行机制
  10. Weighted-Entropy-based Quantization for Deep Neural Networks 论文笔记