js中+号强制转换小例子

1 <script>
2         console.log(([]+{}).length);
3     </script>
4 </head>

输出竟然是:

为什么会是15呢?

因为在+号的强制转换成字符串下{} 这个对象,实际是"{Object object}" 加上两个object中间的空格和“[“

”]”这两个大括号12个字母的两个object,所以就有15个字符出现了。

我们换成下面的代码输出:

1  <script>
2         console.log(([]+{}).length);
3         console.log([]+{});
4     </script>

时间: 2024-08-26 16:17:06

js中+号强制转换小例子的相关文章

c++中的强制转换static_cast、dynamic_cast、reinterpret_cast的不同用法儿

c++中的强制转换static_cast.dynamic_cast.reinterpret_cast的不同用法儿 虽然const_cast是用来去除变量的const限定,但是static_cast却不是用来去除变量的static引用.其实这是很容易理解的,static决定的是一个变量的作用域和生命周期,比如:在一个文件中将变量定义为static,则说明这个变量只能在本Package中使用:在方法中定义一个static变量,该变量在程序开始存在直到程序结束:类中定义一个static成员,该成员随类

JS中应用正则表达式转换大小写

JS中应用正则表达式转换大小写,代码很简单,看代码: 以下首字母大写,其它字母小写 [javascript] view plaincopy <script type="text/javascript"> function replaceReg(reg,str){ str = str.toLowerCase(); return str.replace(reg,function(m){return m.toUpperCase()}) } var reg = /\b(\w)|\s

Php中的强制转换详解

强制转换中分为两种,第一种就只临时转换,和永久转换.在临时转换中呢,首先可以通过第一中方式来显示,就是小括号的形式,临时转换成整型我们可以通过(int)都是这样的形式,或者是(integer)临时转换成整型,再往下再来看,临时转成浮点类型可以通过(float)或者是(double)或者是(rea!)临时转换成浮点类型,第三个临时转换成布尔类型,可以通过(boolean)或者你可以试验一下(bool)缩写的形式,我们可以来尝试写上一个布尔类型,再往下呢还可以转换成字符串型.字符串型可以通过(str

c++中的强制转换

一.C语言的强制转换1.1 隐性转换 不同数据类型之间赋值和运算,函数调用传递参数等等,由编译器完成        int        nTmp = 10;        short    sTmp = nTmp; //这个时候就需要注意转换时数据是否溢出(大字节转小字节)1.2 显性转换 在变量的前面加上(Type)进行显性转换,如:        class Test;        Test *test;        T* obj = (T*)test;//将对象强制转换成T二.C++

vuex在组件化开发中的简单应用小例子

首先, 介绍一下vuex是个什么东西, 个人理解来说, vuex就是一个状态管理的东西, 它里面有且仅有一个Store仓库, 这个仓库里面存放着一些变量, 为什么要有这么一个变量呢, 用过vue的人肯定都清除, 父子组件之间的通讯传值是个比较麻烦的事情, 特别是, 嵌套组件特别多的时候, 这种情况下, 一级一级地传递下去十分麻烦, 还有就是兄弟组件之间的传值也一样麻烦. 而vuex中的Store这个仓库, 就能够为我们将放在这个仓库中的值, 分发给整个项目下的所有组件, 也就是说是, 不用一级一

JavaScript基础中的基础(小例子:滚动字幕)

一.变量 局部变量声明前面要加"var" <script type="text/javascript"> // 全局变量 name = 'alex'; function func(){ // 局部变量 var age = 18; // 修改全局变量name name = "eric" } </script> 二.数据类型 数据类型有:数字.字符串.布尔值      数组.字典 数字.字符串.布尔值.null.undefin

js中return返回值小练习

本文只是帮助初学者入门用的 关于js中的返回值return 如果函数中存在return,执行到了那行之后就直接跳出整个函数,接着向下执行 上例子 定义一个函数是否是偶数,如果是返回true,如果不是返回false? 我相信大多数才学的人会这样写 function isOu(num){ if(num%2==0){ return true }else{ return false } } 这样写不是不可以,只是有点啰嗦 因为num%2==0本身就是一个判断,所以 function isOu(num){

js中全局变量的一点小知识点

js中有三种方式定义全局变量: 在任何函数外面直接执行var语句,例如:var f="value"; 直接添加一个属性到全局变量上,在web浏览器中,全局对象名为window.例如:window.f="value"; 直接使用未经过声明的变量,以这种方式定义的全局变量成为隐式的全局变量.例如:f="value"; 尽可能少使用全局变量: 其中一种方法就是将他们添加到同一个命名空间去:例如: 1 var My={}; 2 My.name={ 3 &

JS中的强制类型转换

<script type="text/javascript">   /*    * 强制类型转换    * 指的是将一个数据类型强制转换为其他的数据类型    * 类型转换主要指,将其他的数据类型,转换为String,Number,Boolean    *     */      /*    * 将其他的数据类型转换为String    * 方式一:    * 调用被转换数据类型的tostring()方法    * 该方法不会影响原变量,它会将转换的结果返回    * 但是