js数据类型隐式转换笔记以及js包装对象

“37”+7              //377

“37”-7              //30

巧用+/-规则  变字符串  x+‘‘   变数字x-0

js里面的==是不严格等于

“123” == 123

0 == false

nul l== undefined

new  Object() == new Object()

[1,2]==[1,2]

但是[1,2]===[1,2]是错的 因为比较的是对象的引用

ps: NaN值和任何东西比较都不相等 即便是不严格等于

————————————————————————————a==b————————————————————————————————

如果类型相同,跟===一样

类型不同时

number==string 先把string转number再比较

boolean==?  boolean先转number

object==string|number  尝试转换对象为基本类型 其他则false

js包装对象

var str="123";alert(str.length);  结果是3(明明是string类型不是对象,为啥可以调用length属性咧?)

str.t=3;

alert(str.t);  结果是undefined(这里为什么不能是3呢)

解释:by慕课Bosn老师

时间: 2024-10-22 00:49:06

js数据类型隐式转换笔记以及js包装对象的相关文章

JavaScript复习之--javascript数据类型隐式转换

JavaScript数据类型隐式转换.一,函数类    isNaN()    该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true.    alert()    输出的内容隐式的转换为字符串. 二,运算符类.    1,算术运算符.       - * / %    如果操作数不是数值,将会隐式的调用Number()函数.按照这个函数的转换规则进行转换.    如果转换不成功,整个表达式返回NaN.       +     如果操作数都是数值,然后进行相加.    任何数据

js 的隐式转换与显式转换

隐式转换 1.undefined与null相等,但不恒等(===) 2.一个是number一个是string时,会尝试将string转换为number 3.隐式转换将boolean转换为number,0或1 4.隐式转换将Object转换成number或string,取决于另外一个对比量的类型 5.对于0.空字符串的判断,建议使用 “===” . 6.“==”会对不同类型值进行类型转换再判断,“===”则不会.它会先判断两边的值类型,类型不匹配时直接为false. undefined == nu

javascript数据类型隐式转换

一.函数类 isNaN() 该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true; alert() 输出的内容隐式的转换为字符串 二.运算符类 1.算数运算符 -  *   /  % 如果操作数不是数值,将会隐式的调用Number()函数,按照这个函数的转换规则进行转换,如果转换不成功,整个表达式返回NaN + 如果操作数都是数值,然后进行相加 任何数据类型和字符串相加,都会隐私的调用他们的toString()方法,然后返回他们拼接的结果. 如果操作数都是布尔值,那么进行N

SQL Server有意思的数据类型隐式转换问题

写这篇文章的时候,还真不知道如何取名,也不知道这个该如何将其归类.这个是同事遇到的一个案例,案例比较复杂,这里抽丝剥茧,仅仅构造一个简单的案例来展现一下这个问题.我们先构造测试数据,如下所示: CREATE TABLE TEST (   ID    INT,   GOOD_TYPE  VARCHAR(12),   GOOD_WEIGHT NUMERIC(18,2) )   INSERT INTO dbo.TEST VALUES( 1, 'T1',1.27) SELECT  GOOD_TYPE,

JavaScript —— 常用数据类型隐式转换

公用方法: let checkType = (data) => { if(data){ console.log(true); }else{ console.log(false); } } 一.字符串 checkType('hello~'); // true checkType(''); // false 总结: 空字符串会被转换为 false,非空字符串会被转换为 true. 二.数值 checkType(10); // true checkType(10.5); // true checkTy

js学习日记-隐式转换相关的坑及知识

隐式转换比较是js中绕不过去的坎,就算有几年经验的工程师也很有可能对这块知识不够熟悉.就算你知道使用===比较从而避免踩坑,但是团队其它成员不一定知道有这样或那样的坑,有后端语言经验的人常常会形成一个思维误区:"JS这门语言很简单,看看语法再找几个例子就能操作DOM,编写特效了".随着react.vue.html5等技术在项目中大规模使用,越来越多的项目中使用了大量的JS,甚至整个项目都用JS来写(例如基于webapi的SPA管理后台.微信小程序.微信H5应用,Hybrid app),

Scala 系列(十三)—— 隐式转换和隐式参数

一.隐式转换 1.1 使用隐式转换 隐式转换指的是以implicit关键字声明带有单个参数的转换函数,它将值从一种类型转换为另一种类型,以便使用之前类型所没有的功能.示例如下: // 普通人 class Person(val name: String) // 雷神 class Thor(val name: String) { // 正常情况下只有雷神才能举起雷神之锤 def hammer(): Unit = { println(name + "举起雷神之锤") } } object T

JS笔记(二):隐式转换

最近刚开始复习JS的基础知识,看到隐式转换这一块,发现它的规则很多,红宝书上列出的框框又有些冗杂,所以这里我借一个式子总结一下其中的规律以及一些有趣的现象.

JS隐式转换

 首先,JS数据类型分为6种,分别是null.undefined.boolean.string.number.object.其中,object是引用类型,其余5种是基本类型或者叫做原始类型. 类型转换,就是隐式转换!不同类型的变量相比较时要先转换类型.隐式转换通常发生在运算符加.减.乘.除,以及大于.小于等等. typeof()方法用来打印判断某个元素是什么数据类型. 1.字符串和数字的相互转换: (1).字符串 加 数字 || 数字 加 字符串,数字 => 字符串 eg: typeof("