数值
概述
整数和浮点数
JavaScript
内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。
11 === 1.0 // true
这就是说,JavaScript
语言的底层根本没有整数,所有数字都是小数(64位浮点数)。容易造成混淆的是,某些运算只有整数才能完成,此时
JavaScript
会自动把64位浮点数,转成32位整数,然后再进行运算,参见《运算符》一章的“位运算”部分。
由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。
123456780.1 + 0.2 === 0.3// false0.3 / 0.1// 2.9999999999999996(0.3 - 0.2) === (0.2 - 0.1)// false
数值精度
根据国际标准 IEEE 754,JavaScript
浮点数的64个二进制位,从最左边开始,是这样组成的。
第1位:符号位,0表示正数,1表示负数
第2位到第12位(共11位):指数部分
第13位到第64位(共52位):小数部分(即有效数字)
符号位决定了一个数的正负,指数部分决定 ...
null, undefined 和布尔值
null 和 undefined
概述
null与undefined都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。
123var a = undefined;// 或者var a = null;
上面代码中,变量a分别被赋值为undefined和null,这两种写法的效果几乎等价。
在if语句中,它们都会被自动转为false,相等运算符(==)甚至直接报告两者相等。
123456789101112if (!undefined) { console.log('undefined is false');}// undefined is falseif (!null) { console.log('null is false');}// null is falseundefined == null// true
从上面代码可见,两者的行为是何等相似!谷歌公司开发的 JavaScript
语言的替代品 D ...
数据类型概述
简介
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript
的数据类型,共有六种。(ES6 又新增了第七种 Symbol
类型的值,本教程不涉及。)
数值(number):整数和小数(比如1和3.14)。
字符串(string):文本(比如Hello World)。
布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)。
undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值。
null:表示空值,即此处的值为空。
对象(object):各种值组成的集合。
通常,数值、字符串、布尔值这三种类型,合称为原始类型(primitive
type)的值,即它们是最基本的数据类型,不能再细分了。对象则称为合成类型(complex
type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。至于undefined和null,一般将它们看成两个特殊值。
对象是最复杂的数据类型,又可以分成三个子类型。
狭义的对象(object)
数组(array)
函数(func ...
JavaScript 的基本语法
语句
JavaScript
程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。
语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。
1var a = 1 + 3;
这条语句先用var命令,声明了变量a,然后将1 + 3的运算结果赋值给变量a。
1 + 3叫做表达式(expression),指一个为了得到返回值的计算式。语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。凡是
JavaScript
语言中预期为值的地方,都可以使用表达式。比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。
语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内。
1var a = 1 + 3 ; var b = 'abc';
分号前面可以没有任何内容,JavaScript 引擎将其视为空语句。
1;;;
上面的代码就表示3个空语句。
表达式不需要分号结尾。一旦在表达式后面添加分号,则 Ja ...
虚拟专用网络 (VPN)
通常用于保护互联网用户免受各种攻击。然而,加密货币用户和交易者特别容易受到攻击,因为坏人试图窃取他们的资金。
VPN
已被建议作为一种在交易加密货币或什至只是与它们进行交易时保持安全的方式。但是,在交易加密货币时保持安全的最佳
VPN 是什么?
交易加密货币时需要 VPN 吗?
如果您希望在交易加密货币时获得额外保护,答案是肯定的。使用
VPN,您可以将您的位置、IP 地址和数字活动等敏感信息保密。
这样一来,黑客或其他攻击者就更难轻松获得他们对您的钱包或计算机发起攻击所需的信息。这减少了您成为攻击受害者的机会,这也是您需要
VPN 来防止资金被盗的原因之一。以下是您在交易加密货币时可以使用的最佳
VPN。
NordVPN
NordVPN 是一个非常知名的
VPN,在全球范围内估计有 1400 万用户。它是适用于 Chromebook 的最佳 VPN
之一,具有许多令人惊叹的功能,其中一些功能使其成为加密货币交易者的完美选择。
首先,它允许用户同时连接多达六台设备。这允许典型的加密货币交易者在不同时间在多个设备上监控他的交易,以确保没有出错。
其次,它有一 ...
初识 Kafka
什么是 Kafka
Kafka 是由 Linkedin
公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper
的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。
Kafka 的基本术语
消息:Kafka
中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录。
批次:为了提高效率, 消息会分批次写入 Kafka,批次就代指的是一组消息。
主题:消息的种类称为
主题(Topic),可以说一个主题代表了一类消息。相当于是对消息进行分类。主题就像是数据库中的表。
分区:主题可以被分为若干个分区(partition),同一个主题中的分区可以不在一个机器上,有可能会部署在多个机器上,由此来实现
kafka 的伸缩性,单一主题中的分区有序,但是无法保证主题中所有的分区有序。
生产者:
向主题发布消息的客户端应用程序称为生产者(Producer),生产者用于持续不断的向某个主题发送消息。
消费者:订阅主题消息的客户端程序称为消费者(Consumer),消费者用于处理生产者产生的消息。
消费者群组:生产者与消费者的关系 ...
一个程序要能够在计算机系统中运行,除了程序本身必须是机器可执行的目标代码之外,还要有相应的数据。程序和数据还要提前被存储在存储器中,即需要把一定的存储空间分配给这个程序和数据。另外,在执行该程序前,处理器中的指令计数器必须指向存储器中被执行程序的首地址。如果在程序执行过程中还需要其他的资源,比如需要从磁盘的一个文件中接收一批数据,那么在申请使用磁盘时,还要知道磁盘的设备编号、文件的名称以及文件在磁盘中的物理位置、文件长度等资源信息,所有这些信息均需要有存储空间对它们加以保存,以便在运行时使用。显然,如果有多个程序要同时进人内存并运行,那么每个要运行的程序也需要准备程序代码、数据、资源信息以及保存这些代码、数据、资源信息的存储空间。
为了能够从技术上较为准确地描述正在运行、将要运行或者刚刚退出运行的各个程序的执行代码、数据以及所需的资源信息等,人们引进了进程(Process)这个概念。
多道程序设计多道程序设计
采用多道程序设计可以提高处理器的利用率。多道程序设计技术充分发挥了处理器与外围设备以及外围设备之间的并行工作能力,从而提高处理器和其他各种资源的利用率。下面从程序的顺序执行、程 ...
什么是 nrm ?
nrm 是一个 npm 源管理器,允许你快速地在
npm源间切换。
什么意思呢,npm默认情况下是使用npm官方源(使用npm config ls命令可以查看),在国内用这个源肯定是不靠谱的,一般我们都会用淘宝npm源:[https://registry.npm.taobao.org/](https://registry.npm.taobao.org/),修改源的方式也很简单,在终端输入:
1npm set registry https://registry.npm.taobao.org/
再npm config ls查看,已经切换成功。
那么,问题来了,如果哪天你又跑去国外了,淘宝源肯定是用不了的,又要切换回官网源,或者哪天你们公司有自己的私有npm源了,又需要切换成公司的源,这样岂不很麻烦?于是有了nrm。
nrm安装
1npm install -g nrm
nrm使用
查看可选源(带*号即为当前使用源)
12345nrm ls```这个方法简便,看你的穿着,我大概知道你是什么样的人。虽然不完全准确,但是概率比一个个蒙要高。
(2)这个方法迎合了人需要预测和了解陌生人的需求。比如说,我去大学做讲座时穿牛仔裤,大家就容易猜测,这哥们儿是个平易近人的大朋友。
(3)你的着装礼仪决定了你对自己的评估,能看出你的自我概念。比如一个女生如果很舍得买衣服,我能知道她应该觉得自己是很美丽的。
正因为这个方法好用、有效,所以,我们宁愿承担“狗眼看人低,只认衣冠不认人”的罪名继续用它。你期待对方怎么看你,就用一种他能够识别的方式装扮自己吧。
两 ...
TIPS
未读很多时候,比如开会和与人对话的时候,有些人会心不在焉,两眼发呆。你以为他太累了,仔细聊下来,却发现答案也许是他家的猫昨天死了······或者他现在很烦,因为一个客户······或者他就是喜欢这样,“你别看我乱晃,其实我在听”。如果你想多说,“直白”还会想“我自己的情绪,你别管就好了”。
这其实是扯淡,工作是一种社交关系,人作为一种社交动物,我们没法不关注对方的情绪。不信让你女友一边和你亲热,一边看《糗事百科》,20秒笑一下,然后温柔地告诉你:“没事,你慢慢做,这是我的情绪,你别管好啦。”
情绪不仅仅属于你,也是一个组织的“潜规则”-你的情绪一旦在公众场合出现,就具有影响对面、周围人的能力,而对方需要花费更多的心力和自我调适才能够与你合作。
加州大学曾做过一个实验。他们在一间办公室里安装了300多个摄像头,探索参与工作的人的情绪与办公效率的关系。他们让一个老板走人办公室,向某一个秘书咆哮。你猜结果怎么样?秘书当然被虐,此处不表,办公室里其他40个人在接下来的两个小时里,行动比以前快了20%,但是整体效率却下降了40%。
你遇到过类似的情况吧?
负面情绪不仅能够打败你自己,也会引发连锁反应 ...
