布尔值

js中布尔值为false的六种情况

荒凉一梦 提交于 2019-12-01 22:31:04
下面6种值转化为布尔值时为false,其他转化都为true 1、undefined(未定义,找不到值时出现) 2、null(代表空值) 3、false(布尔值的false,字符串"false"布尔值为true) 4、0(数字0,字符串"0"布尔值为true) 5、NaN(无法计算结果时出现,表示"非数值";但是typeof NaN==="number") 6、""(双引号)或''(单引号) ( 空字符串,中间有空格时也是true ) 注意空数组空对象,负值转的布尔值时都为true 不同数据类型转化为布尔值的结果 数据类型 转为true的值 转为false的值 Boolean true false String 任何非空字符串 ''(空字符串) Number 任何非零数字值(包括无穷大) 0和NaN Object 任何对象 null Undefined n/a undefined 对于0, '', null, undefined, NaN,{}, [], Infinity求布尔值,分别是false false false false false true true true. 因此我们知道的一点是:对象的布尔值是true,即使是对象{}。 "!!"将表达式进行强制转化为bool值的运算,运算结果为true或者false。 例如 array=[1,2,3] array.num

表达式,运算符和布尔值

此生再无相见时 提交于 2019-12-01 12:15:38
表达式,运算符和布尔值 True ,任意非零数值,非空的字符串,列表,元组或字典都将返回True。 False,0,None,空的列表,元组和字典都将返回False。 布尔表达式从左至右进行求值,而且只有在需要时才会计算右边的操作数。例如表达式a and b,只有当a为True时才会计算b。这有时称为短路求值。 圆括号时明确和改变表达式运算顺序的利器。 一,算术运算符 (1)+ In [2]: [1,2,3]+[4,5,6] 连接两个列表 Out[2]: [1, 2, 3, 4, 5, 6] In [3]: (1,2,3)+(4,) 连接两个元组 Out[3]: (1, 2, 3, 4) In [4]: '1234'+'asdf' 连接两个字符串 Out[4]: '1234asdf' In [5]: True+3 #True=1 Out[5]: 4 (2)* In [6]: False*3 #False=0 Out[6]: 0 In [7]: [1,2,3]*3 Out[7]: [1, 2, 3, 1, 2, 3, 1, 2, 3] In [8]: (1,2,3)*3 Out[8]: (1, 2, 3, 1, 2, 3, 1, 2, 3) In [9]: 'asdf'*3 Out[9]: 'asdfasdfasdf' (3)/ 除 //算术求整商 In [10]: 3/2 Out

ini文件

痞子三分冷 提交于 2019-12-01 02:41:22
ini文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delp等都提供了读写ini文件的方法,其中Delphi中操作ini文件,最为简洁,这是因为Delphi3提供了一个TInifile类,使我们可以非常灵活的处理ini文件。 一、有必要了解ini文件的结构 注释:  [小节名]   关键字=值 。。。 ini文件允许有多个小节,每个小节又允许有多个关键字,“=”后面是该关键字的值。 值的类型有三种:字符串、整形数值和布尔值。其中字符串存储在ini文件中时没有引号,布尔值真用1表示,布尔值假用0表示。 注释以“;”开头。 来源: https://www.cnblogs.com/wjq13752525588/p/11648865.html

类型

浪尽此生 提交于 2019-11-30 12:51:46
基本类型:Undefined、Null、Boolean、String、Number、Symbol 引用类型:Object # 1. 基本类型和引用类型的区别 上面这张图片很好的解释了值传递和引用传递的区别。 # 1.1 不可变性 基本类型,在 ECMAScript 标准中,它们被定义为 primitive values ,即原始值,代表值本身是不可被改变的。 基本类型的值被直接存储在栈中,在变量定义时,栈就为其分配好了内存空间。由于栈中的内存空间的大小是固定的,那么注定了存储在栈中的变量就是不可变的。 以字符串为例,我们在调用操作字符串的方法时,没有任何方法是可以直接改变字符串的。对其修改也只是修改变量指向的值,而值的本身是不课改变的。 let str = 'str' str += '1' console.log(str); // str1 在上面的代码 str 是变量名, 'str' 则是一个 String 类型的值,通过 += 这个操作符会将一个新的 String 类型的值 'str1' 赋值给 str 这个变量。值本身是没有改变的。 引用类型的值实际存储在堆内存中,它在栈中只存储了一个固定长度的地址,这个地址指向堆内存中的值。因此引用类型的值是可以修改的。 # 1.2 复制 基本类型在复制的时候,会在栈中开辟一个新的内存空间来存储复制出来的值

JavaScript 语法和数据类型

喜夏-厌秋 提交于 2019-11-30 05:44:13
JavaScript 变量 概述 把一个具体的值存入到变量中。那么此时这个变量就代表着我们这个具体的值。我们如果想要重新的使用这个值,不再需要重新的计算或者其他操作,直接使用变量就可以得到之前存储的这个值。 简单的说,变量就是一个保存数据的容器, 调用变量就是调用保存在这个容器中的值。 变量之所以叫做变量,是因为变量随时可以根据我们的需要去改变其中存储的值 注: 变量本身没有数据类型,只能根据存储的值来判断数据类型。 创建一个变量 声明关键字,如:var、let var 声明一个变量,可选初始化一个值。 let 声明一个块作用域的局部变量,可选初始化一个值。 声明变量的三种方式: 使用关键词 var var a = 42; // 可以用来声明局部变量和全局变量。    直接赋值(不推荐) b = 42;// JS 的小 bug,这样写会产生一个全局变量    这种方式在严格模式下会出错,也没人会用这种方式声明变量, 不建议使用这种方式。    使用关键词 let let c = 12; // 用来声明块作用域的局部变量。 声明变量的底层原理 我们所写的程序运行在内存中,当我们使用关键字声明一个变量的时候,计算机会从内存中划分一个空间,为我们存放不同类型的内容做准备 变量的命名规则 1. 由数字、字母、下划线( _ )、$ 组成。 不能由数字开头     不能包含星号 ( * )  

php的xdebug的配置、调试、跟踪、调优、分析

烈酒焚心 提交于 2019-11-30 03:49:56
xdebug 的 profiler 是一个强大的工具,它能分析 PHP 代码,探测瓶颈,或者通常意义上来说查看哪部分代码运行缓慢以及可以使用速度提升。Xdebug 2 分析器输出一种兼容 cachegrind 文件格式的分析信息。这允许你能使用出色的 KCacheGrind 工具(Linux,KDE)来分析你的 profiling 数据。在 Linux 可以使用你最喜欢的包管理器安装 KCacheGrind。 在 windows 系统上,有预编译的 QCacheGrind 二进制程序(QCacheGrind 是没有 KDE 绑定的 KCacheGrind)。 在 Mac OSX 系统上,这里也有怎样安装 QCacheGrind 的 说明 。 Windows 用户可以选择性的使用 WinCacheGrind 。它的功能不同于 KCacheGrind,所以 这个页面的 KCacheGrind 使用文档章节不适用于这个程序。WinCacheGrind 目前不支持 Xdebug 2.3 引入的 cachegrind 文件格式的的文件和函数压缩。 这也有一种可替代 profile 信息演示的工具叫做 xdebugtoolkit 。一款基于 web 前端叫做 Webgrind ,和一款基于 java 的工具叫做 XCallGraph 。 如果你不能使用 KDE(或者不想使用 KDE)的

JavaScript逻辑运算符

徘徊边缘 提交于 2019-11-29 15:04:58
JavaScript中有三种逻辑运算符: 非(!)、与(&&)、或(||) 一 :!非 !可以用来对一个值进行非运算 (一)、对布尔值进行!非运算 所谓非运算就是一个布尔值进行取反操作。 1、一次运算true变false,false变true 2、如果对一个值进行两次取反,值不会变化。 对非布尔值进行取反操作,现将非布尔值变成布尔值。所以我们可以利用这个特点将其他类型的值转换成布尔值。 可以对任意一个值进行两次非运算(取反),即可将其转换为Boolean类型; 原理和使用Boolean()函数一样 (二)、对非布尔值进行!或运算 运算规则: 如果两个值都为true,则返回后面的值。 如果两个值都是false,则返回前面的false。 二、&&与 &&可以对符号两侧的值进行“与运算”,并返回结果。 (一)、对布尔值进行与运算 运算规则: 1、只有符号两边同时为 true,结果就返回 true; /2 2、只要有一个值是false,结果就返回false; JS中的与属于短路的与,如果第一个值为false,则不会看第二个值 (因为已经可以看得出结果了)。/3 3、第一个值为true,会检查第二个值。 /4 4、第一个值是false,就不会检查第二个值。 (二)、对非布尔值进行&&与运算 如果第一个值为true,则返回第二个值 如果第二个值为false,则直接返回第一个值(返回的是原值)。

JSON 对象

隐身守侯 提交于 2019-11-28 19:21:51
JSON: J ava S cript O bject N otation(JavaScript 对象表示法) key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。 数据由逗号分隔 大括号保存对象 中括号保存数组 var JSONObject= { "name":"aa", "url":"aa" }; 取:JSONObject[0].name JSONObject["name"] 嵌套 JSON 对象 myObj = { " name " : " runoob " , " alexa " : 10000 , " sites " : { " site1 " : " www " , " site2 " : " m " , " site3 " : " c " } } 修改值myObj . sites . site1 = " www.google.com " ; delete 关键字来删除 JSON 对象的属性 delete myObj . sites [ " site1 " ] json 对象和 json 字符串的区别: json 对象 var str2 = { "name": "asan", "sex": "man" }; json字符串 var str1 = '{ "name": "deyuyi", "sex":

整型,布尔值以及字符串详解

被刻印的时光 ゝ 提交于 2019-11-28 19:09:17
整型和布尔值 一.整型(数字) 整型用于比较和运算 Python2:有整型(int)还有长整型(long),获取到的是整数 Python3:只有整型(int),获取到的是浮点数 1.十进制转换成二进制 二进制:只有0和1,十进制转换成二进制用 bin() # 十进制转二进制(除2,取余,获取的所有余数从上往下进行计算) 例:将21转化成二进制 21 1 10 0 5 1 2 0 1 1 所以 print(bin(21)) == 11101 2.二进制转换成十进制 #二进制转十进制(从右向左依次乘以2的次方) 例:将10101转换成十进制 1*2**0 + 0*2**1 + 1*2**2 + 0*2**3 +1*2**4 =21 1 + 0 + 4 + 0 + 16 =21 二.布尔值 print(bool(1)) 数字非零的就是True print(bool('False')) 字符串不为空就是True,字符串中没有任何内容就 是False 字符串详解 字符串是用来存储销量数据的.(引号引起来的就是字符串) name = " m e a t " #每一个字母叫做一个元素 0 1 2 3 从左往右 -4 -3 -2 -1 从右往左 #索引(下标):可以通过索引准确的定位到某个元素 print(name[2]) # e # 切片 print(name[0:2] # me 顾头不顾尾

整型,布尔值,字符串详解,for语句

不打扰是莪最后的温柔 提交于 2019-11-28 19:09:05
整型 —— 数字 用于比较和计算 + - * / // python 2 int ——— long (长整型) /获取的是整数 Python3 int———整型 / 获取的浮点数 二进制 ——— 就是由 0 和 1 组成 十进制往二进制的转化是短除法 商 余数 15 1 7 1 ​ 3 1 ​ 1 1 那么 15 用二级制表示就是 1111(从下往上计算) 比如 21 是从下往上 10101 程序输出 print(bin()) 结果 0b10101 0b 代表二进制 bin 将十进制转化为二进制 二进制转化为十进制 111000(从右往左计算) : 0*2**0 + 0*2**1 + 0*2**2 +1*2**3 + 1*2**4 +1*2**5 = 8 + 16 + 32 = 56 print(int("10101",2)) 这个 2 的意思是将二进制转化为十进制 bool () 布尔值 print(bool( )) 数字非0的就是 True ,0 就是 False print(bool( )) 字符串不空的都是 True 啥也没有就用 False 字符串讲解 定义:在 python 中,引号引起来的就是字符串,字符串用来存储少量数据 索引(下标) name = "meet" #meet 每一个字母叫做一个元素 0123 #从左往右数 0123 -4-3-2-1 #从右往左数