28 JavaScript语言类型&运算符
语言类型:
弱类型:可以改变变量值和对象类型
强类型:可以改变变量值不能改变对象类型
解释型:边编译边执行,速度慢。解释型一般是弱类型
编译型:先编译再执行(C++\Java),速度快。编译型一般是强类型
JavaScript语言类型:
解释型弱类型的脚本语言。
加法运算:
任何类型加字符串或者对象(不包括undefined和null)相加,都变成字符串,空数组做加法运算时转换成空串
对象转成字符为object Object,数组[1,2,3]转换成字符串为'1,2,3'
如果没有字符类型或者undefined和null之外的对象类型,其他类型加法转换成数值进行运算
减法运算:
任何类型的减法运算都转换成数值运算
一元运算符
关系运算符:
任何关系运算符都有返回值
大小比较: <、<=、>、>=,返回的是布尔值
字符字母和字符字母比较:按顺序一一比较单个字母的ascll码值
字符字母和数字比较:false,相当于和NaN比较,这里'4a'也是NaN,而非按照parseInt转换成4
字符数字和数字比较:字符数字转换成数值再比较,而非ascll码
比较运算符:返回的是布尔值
空数组==空字符串==0是true , 空数组!== 0
0 == false,'' == 0, '' == false
对象与对象的比较判断的是引用地址,地址不同的对象为false
特殊情况:undefined == null 是true
[] == [] , 是false,因为是两个不同的对象
if(a == null)为真,那么a只能为null或者undefined
if(a == 0)为真, 那么a只能为0或’‘或false
[] == '' 为true,[]没办法转换成布尔值,会转换成空串
[1,2,3] = '1,2,3'是true,数组会转成字符串
数组与其他非对象类型比较时都会转换成字符串
数组中如何包含对象,转成字符串对象是object Object
逻辑运算符:返回值、熔断机制。会再判断的时候进行运算改变值
&&:
左右为true才为true
左true,则一定返回右
左false返回左,不进行右侧运算
|| :
左右都为false才为false
如果左为true,直接返回左边,不进行右边的判断
如果左为false,则一定返回右边
var a = 1;
a = --a || ++a;// 左边是false,看右边,右边是true,返回右边左边已经进行了运算
console.log(a);
28 JavaScript语言类型&运算符的更多相关文章
- 面向对象的JavaScript --- 动态类型语言
面向对象的JavaScript --- 动态类型语言 动态类型语言与面向接口编程 JavaScript 没有提供传统面向对象语言中的类式继承,而是通过原型委托的方式来实现对象与对象之间的继承. Jav ...
- javascript语言精粹
内容选自:<javascript语言精粹> 1.6种值会为假(==false),分别是false,null,undefined,' ',0,NaN 2.typeof有6种值,分别是'num ...
- 《JavaScript语言精粹》小记
一.前言 以下内容均摘自<JavaScript语言精粹>一书,本人在读这本书时,发现作者诠释JavaScript很犀利,特别是数组部分,固记录下来,想和大家分享下. 随笔主要包含两大部分: ...
- Javascript 语言精粹 代码片段合集
Javascript 语言精粹 代码片段合集 标签:Douglas-Crockford Javascript 最佳实践 原文链接 更好的阅读体验 使用一个method 方法定义新方法 Function ...
- 《JavaScript语言精粹》学习笔记
一.in的用法 for...in 枚举一个对象的所有可枚举属性 检测DOM/BOM属性 if ("onclick" in elem) { // 元素支持onclick } if ( ...
- 第一章:Javascript语言核心
本节是javascript语言的一个快速预览,也是本书的第一部分快速预览. 读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书.感谢你们无私的分享,仅以此笔记献给你们 ...
- JavaScript的类型、值和变量的总结
前言:JavaScript的数据类型分为两类:原始类型和对象类型.5种原始类型:数字.字符串.布尔值.null(空).undefined(未定义).对象是属性的集合,每个属性都由“名/值对”(值可以是 ...
- JavaScript语言精粹-读书笔记
前言:很久之前读过一遍该书,近日得闲,重拾该书,详细研究一方,欢迎讨论指正. 目录: 1.精华 2.语法 3.对象 4.函数 5.继承 6.数组 7.正则表达式 8.方法 9.代码风格 10.优美的特 ...
- JavaScript 语言精粹读书笔记
最近在看 赵泽欣 / 鄢学鹍 翻译的 蝴蝶书, 把一些读后感言记录在这里. 主要是把作者的建议跟 ES5/ES5.1/ES6 新添加的功能进行了对比 涉及到的一些定义 IIFE: Immediatel ...
随机推荐
- How To Use These LED Garden Lights
Are you considering the lighting options for the outdoor garden? Depending on how you use it, LED ga ...
- AJAX-状态属性
XMLHttpRequest对象的readyState属性 作用:表示xhr对象的请求状态 值:由0到4表示5个状态 0:请求尚未初始化 1:已经打开到WEB服务器的连接,正在向服务器发送请求 2:请 ...
- 各技能DBC参数
推荐你 通过 引擎的帮助文件查找标准魔法DB 下面是 部分hero引擎的标准魔法DB 34,解毒术,2,26,16,0,0,0,0,0,2,42,50,44,100,46,200,40,, 35,老 ...
- 解决com.netflix.zuul.FilterProcessor : null异常
ZuulFilter过滤器的filterType方法返回一个字符串代表过滤器的类型,如果return null就会出现以上错误. 在zuul中有以下四种不同生命周期的过滤器类型 pre:路由之前 ro ...
- 一起了解 .Net Foundation 项目 No.4
.Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. BenchmarkDotN ...
- 《aelf经济和治理白皮书》重磅发布:为DAPP提供治理高效、价值驱动的生态环境
2020年2月17日,aelf正式发布<aelf经济和治理白皮书>,这是aelf继项目白皮书后,在aelf网络经济模型和治理模式方面的权威论述.<aelf经济和治理白皮书>描述 ...
- C++实现索引堆及完整测试代码
首先贴一篇我看的博客,写的很清楚.作者:Emma_U 一些解释 索引堆首先是堆,但比堆肯定是更有用. 用处: 1.加速. 索引堆存储的是索引,并不直接存储值.在堆上浮下沉的元素交换的时候,交换索引可比 ...
- Java“被迫”退出争霸,Python继续霸占首位!老牌程序员:我不服
2019年转眼已经接近尾声,如果盘点下2019年最火的语言,除了Python还能有谁?你心中的王者语言又是谁? 这一年Python风光无限 这一年JAVA走向右边 这一年,我们都很感慨,你呢? 关于P ...
- bugku 白哥的鸽子
首先下载之后发现是一个txt 然后更改一下后缀名发现这是一张jpg 图片然后看一下属性然后用hxd分析一下 看看有没有zip 发现没有 然后拖到地下然后发现有一串密码有些问题 然后查一下发现是 栏杆密 ...
- 基于jenkins自动打包并部署docker环境及PHP环境