数字转换

[译]JavaScript中,{}+{}等于多少?

霸气de小男生 提交于 2020-02-10 13:32:42
最近, Gary Bernhardt 在一个简短的演讲视频“ Wat ”中指出了一个有趣的JavaScript 怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得出的. 在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串和字符串相加,所有其他类型的值都会被自动转换成这两种类型的值. 为了能够弄明白这种隐式转换是如何进行的,我们首先需要搞懂一些基础知识.注意:在下面的文章中提到某一章节的时候(比如§9.1),指的都是ECMA-262语言规范( ECMAScript 5.1 )中的章节. 让我们快速的复习一下.在JavaScript中,一共有两种类型的值:原始值(primitives)和对象值(objects).原始值有: undefined , null , 布尔值(booleans), 数字(numbers),还有字符串(strings).其他的所有值都是对象类型的值,包括数组(arrays)和函数(functions). 1.类型转换 加法运算符会触发三种类型转换:将值转换为原始值,转换为数字,转换为字符串,这刚好对应了JavaScript引擎内部的三种抽象操作:ToPrimitive(),ToNumber(),ToString() 1.1 通过ToPrimitive()将值转换为原始值

[译]JavaScript中,{}+{}等于多少?

自古美人都是妖i 提交于 2020-02-10 13:30:39
[译]JavaScript中,{}+{}等于多少? 原文: http://www.2ality.com/2012/01/object-plus-object.html 最近, Gary Bernhardt 在一个简短的演讲视频“ Wat ”中指出了一个有趣的JavaScript 怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得出的. 在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串和字符串相加,所有其他类型的值都会被自动转换成这两种类型的值. 为了能够弄明白这种隐式转换是如何进行的,我们首先需要搞懂一些基础知识.注意:在下面的文章中提到某一章节的时候(比如§9.1),指的都是ECMA-262语言规范( ECMAScript 5.1 )中的章节. 让我们快速的复习一下.在JavaScript中,一共有两种类型的值:原始值(primitives)和对象值(objects).原始值有: undefined , null , 布尔值(booleans), 数字(numbers),还有字符串(strings).其他的所有值都是对象类型的值,包括数组(arrays)和函数(functions). 1.类型转换 加法运算符会触发三种类型转换:将值转换为原始值,转换为数字,转换为字符串

[译]JavaScript中,{}+{}等于多少?

会有一股神秘感。 提交于 2020-02-10 13:28:26
原文: http://www.2ality.com/2012/01/object-plus-object.html 最近, Gary Bernhardt 在一个简短的演讲视频“ Wat ”中指出了一个有趣的JavaScript 怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得出的. 在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串和字符串相加,所有其他类型的值都会被自动转换成这两种类型的值. 为了能够弄明白这种隐式转换是如何进行的,我们首先需要搞懂一些基础知识.注意:在下面的文章中提到某一章节的时候(比如§9.1),指的都是ECMA-262语言规范( ECMAScript 5.1 )中的章节. 让我们快速的复习一下.在JavaScript中,一共有两种类型的值:原始值(primitives)和对象值(objects).原始值有: undefined , null , 布尔值(booleans), 数字(numbers),还有字符串(strings).其他的所有值都是对象类型的值,包括数组(arrays)和函数(functions). 1.类型转换 加法运算符会触发三种类型转换:将值转换为原始值,转换为数字,转换为字符串,这刚好对应了JavaScript引擎内部的三种抽象操作

详解JS中Number()、parseInt()和parseFloat()的区别

允我心安 提交于 2020-02-06 11:00:10
转载: 详解JS中Number()、parseInt()和parseFloat()的区别 三者的作用: Number(): 可以用于任何数据类型转换成数值; parseInt()、parseFloat(): 专门用于把字符串转换成数值; 一、Number( ): (1)如果是Boolean值,true和false将分别转换为1和0。 (2)如果是数字值,只是简单的传入和返回。 (3)如果是null值,返回0。 (4)如果是undefined,返回NaN。 (5)如果是字符串,遵循下列规则: 如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回结果为NaN。 如果是字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即“1”变成1,“123”会变成123,而“011”会变成11(前导的零被忽略了); 如果字符串中包含有效的浮点格式,如“1.1”,则将其转换为对应的浮点数值(同样也会忽略前导零); 如果字符串中包含有效的十六进制格式,例如”0xf”,则将其他转换为相同大小的十进制整数值; 如果字符串是空的(不包含任何字符),则将其转换为0; 如果字符串中包含除上述格式之外的字符,则将其他转换成NaN. (6)如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用的对象的toString()方法

javascript权威指南笔记--javascript语言核心(二)

十年热恋 提交于 2020-02-05 08:49:26
1. 函数作用域 :在函数内声明的所有变量在函数体内始终是可见的。这意味着在变量声明之前甚至已经可用。    *“声明提前”:javascript函数里声明的所有变量(但不涉及赋值)都被提前至函数的顶部。   function test(o) {     var i = 0;     if(typeof(o) == "object") {       var j = 0;       for(var k=0; k<10; k++) {         console.log(k);//0-9       }       console.log(k);//10     }     console.log(j);//0   }   var scope="global";   function() {     console.log(scope);//undefined     var scope = "local";     console.log(scope);//"local"   }   因为函数内变量scope的声明被提前,相当于:   var scope = "global";   function(){     var scope;     console.log(scope);     scope = "local";     console.log(scope);   

字符串和数字互相转换

爱⌒轻易说出口 提交于 2020-02-05 03:53:14
字符串转数字 方法主要有三种: 转换函数、强制类型转换、利用JS变量弱类型转换。 1. 转换函数parseInt() & parseFloat() 这二者都是JS全局函数。 - 1.1. parseInt() 1)parseInt()函数可解析一个字符串,并返回一个整数。 2)语法:parseInt(string, radix)。 string必选,表示被解析的字符串。 radix可选,表示要解析的数字的基数。 radix介于 2 ~ 36 之间。如果radix缺省或其值为 0,则根据string开头来解析。 如果小于 2 (!= 0)或者大于 36,返回NaN。 string以0X 或 0x 开头,以 16 为基数。 以 0 开头,以8或16为基数。 以 1 ~ 9 的数字开头,以10为基数。 1.2 parseFloat() parseFloat()函数可解析一个字符串,并返回一个浮点数。 语法:parseFloat(string) 2. 强制类型转换 JS有三种转型函数。 Boolean() —— 转换为对应的布尔值 Number() —— 转换为对应的数值 String() —— 转换为对应的字符串 2.1 Boolean()转换规则 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 “”(空串)

数据类型、运算符

佐手、 提交于 2020-02-03 03:26:51
三、数据类型 标量类型: int, float, string, bool 复合类型: array, object 特殊类型: null, resource 浮点类型: float , double , real 注意:浮点数不应 直接 进行大小比较 可变函数: 可变函数,就是函数名 “可变”——其实跟可变变量一样的道理。 1 function jpg(){处理jpg图} 2 function png(){处理png图} 3 function gif(){处理gif图} 4 $fileName = get_fileName(){获取用户上传的图片名}; 5 $houzhui = get_houzhui($fileName); 6 $houzhui(); 举例 字符串类型string: js中,虽然有2种字符串表达形式,但也应该理解为是一种字符串: var str1 = ‘单引号字符串’ var str2 = “双引号字符串”; 但在php中,单引号和双引哈字符串,是有不同细节含义的字符串。 php中,有4种字符串形式: 单引号字符串: $s1="php34.com"; $str1='ab\nc"d\'efg:$s1'; echo $str1 结果为 ab\nc"d\'efg:$s1双引号字符串 $str2="ab\nc'd\",\101,\41,efg:$s1"; 结果:ab c'

php : 基础(2)

眉间皱痕 提交于 2020-02-03 00:34:59
常量 常量是相对于变量来说的:是一个其中存储的数据不会也不应该改变的“标识符”。 常量的使用,就2个方面:定义,取值。 常量的定义 //常量定义语法1: //define("常量名", 常量值); define("PI", 3.14); define("SCHOOL", "传智播客"); //定义形式2: //const 常量名 = 常量值; const CC1 = 1234; const CC2 = 'abcd'; 常量的使用——取值 也有两种形式:直接使用名字,或通过constant()函数取得其值; //使用形式1:直接使用其名字 echo "<br />常量PI的值是:" . PI; //注意,不能写在引号中 echo "<br />常量SCHOOL为:" . SCHOOL; $s1 = PI * 3 * 3; //求半径为3的圆面积 //使用形式2:使用函数constant()获得一个常量的值: //形式: constant("常量名");//注意:常量名是一个字符串 $s2 = constant("PI") * 3 * 3; echo "<br />s1= $s1, s2 = $s2"; echo "<br />" . SCHOOL . constant("CC1") . constant("CC2"); //取得常量值的灵活性语法: $i = 1; $c1 = "CC

Python3字符串内建函数

蓝咒 提交于 2020-01-31 05:37:29
字符串相关 Python转义字符 Python字符串运算符 Python字符串格式化 f-string Python的字符串内建函数 Python转义字符 print ( 'Kobe ' \ 'bryant' ) print ( '100\\' '150' ) print ( "\'" ) print ( 'Kobe\a' 'bryant' ) print ( "A" , "M\b" , "C" ) Python字符串运算符 有关内容前面已经陈述过,不再陈述。 Python字符串格式化 Python支持格式化字符串的输出,尽管这样可能会用到非常复杂的表达式,但 最基本的用法是将一个值插入到一个有字符串格式符%s的字符串中 在Python中,字符串格式化使用与C中的sprintf函数一样的语法 在C中,sprintf:多了一个参数str,并且输出结果式保存在字符数组str中,而不是输出到屏幕,如sprintf(str,“Price is %d”,d); 在Python中这样表示, print("%s is %d" % (‘价格’,999)) 格式化操作符辅助指令: f-string f-string是python3.6之后版本添加到,称为 字面量格式化字符串 ,是新的 格式化字符串 的语法。 之前我们用%,如 f-string格式化字符串以f开头,后面跟着字符串

zzulioj 1134: 字符串转换

送分小仙女□ 提交于 2020-01-29 18:14:09
1134: 字符串转换 题目描述 输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以2输出。 输入 输入一个以回车结束的字符串,长度不超过100,由数字和字母组成。 输出 将转换后的整数乘以2输出,测试数据保证结果在int范围内。 样例输入 Copy sg987aa65t498 样例输出 Copy 197530996 C # include <stdio.h> int main ( ) { char a [ 105 ] ; int i = 0 , n = 0 ; gets ( a ) ; while ( a [ i ] != '\0' ) { if ( a [ i ] >= '0' && a [ i ] <= '9' ) n = n * 10 + ( a [ i ] - '0' ) ; i ++ ; } printf ( "%d\n" , n * 2 ) ; return 0 ; } 来源: CSDN 作者: 曹氏阿七 链接: https://blog.csdn.net/qq_45845830/article/details/104105898