想不到的:js中加号操作符】的更多相关文章

研究js加号操作符的时候,无意中试验了一个 console.log({} + "str");//NaN 发现结果居然是NaN,这让我百思不得其解. 我查阅资料,js高级编程里是这样总结的: 如果两个操作符都是数字,执行常规的加法计算:(试验这句没毛病) 如果有一个操作数是字符串,那么就要应用如下规则: 如果两个操作数都是字符串,则将第二个操作数与第一个操作数拼接起来:(试验这句没毛病) 如果只有一个操作数是字符串,则将另一个操作数转换为字符串,然后再将两个字符串拼接起来. 如果有一个操…
写在前面 js语法 DOM对象(把body,div,p等节点树看成一个对象) BOM对象(把浏览器的地址栏历史记录DOM等装在一个对象) 浏览器是宿主,但js的宿主不限于浏览器,也可以是服务器,如node.js. 运算符: //js中拼接运算符 console.log(2+3); console.log('hello'+''+'world'); console.log(2+3+4+'haha'+5+6);//9haha56,一旦碰到非法数字后,后面的一律理解为“拼接” 例如 var num1=5…
按照javascript语言精粹中所说,如果在一个函数前面带上new来调用该函数,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将被绑定到那个新对象上.这个话很抽象,我想用实例来让自己加深理解. 1.如果就一个函数,没有返回值,没有prototype成员,然后使用new,会是什么结果呢?如果一个函数没有返回值,那么如果不使用new来创建变量,那么该变量的值为undefined.如果用了new,那么就是Object.说明一个函数的默认的Prototype是Object…
摘要: ===操作符: 要是两个值类型不同,返回false 要是两个值都是number类型,并且数值相同,返回true 要是两个值都是stirng,并且两个值的String内容相同,返回true 要是两个值都是true或者都是false,返回true 要是两个值都是指向相同的Object,Arraya或者function,返回true 要是两个值都是null或者都是undefined,返回true ==操作符: 如果两个值具有相同类型,会进行===比较,返回===的比较值 如果两个值不具有相同类…
首先我们来看一下实例化一个对象做了浏览器做了什么事情 new的四步操作: 1. 创建一个空对象 2. 设置空对象的__proto__属性继承构造函数的prototype属性,也就是继承构造函数的原型对象上的公有属性和方法 3. 调用构造函数,将构造函数中的this替换为空对象的this,继承构造函数中的属性 4. 在函数内部返回一个新对象 源码实现 function myNew (fun) { return function () { // 创建一个新对象且将其隐式原型指向构造函数原型 let…
// 16进制转换:+”0xFF”;              // -> 255 // 获取当前的时间戳,相当于`new Date().getTime()`:+new Date(); // 比 parseFloat()/parseInt()更加安全的解析字符串parseInt(“1,000″);    // -> 1, not 1000+”1,000″;             // -> NaN, much better for testing user inputparseInt(…
接着昨天的文章,今天这篇文章主要讲述JS中剩余的两种数据类型String,和Object String类型 对于该类型,书中给出的解释为:由0或多个16为Unicode字符组成的字符序列. 对于JS中的String类型首先要明确的是,在JS中单引号,和双引号是没有区别的,跟PHP及部分语言单双引号会影响对字符串的解释不同. 虽然单双引号没有什么不同,但是要保证引号的闭合,即你不能用单引号开头,双引号结尾. 这一特点在es6的模板字符串出来之前,能使我们对字符串的拼接简单许多. 比如,在JS中操作…
题目比较晦涩,来张图来说明要表达的效果: 第一张图的效果就是,用户输入一个数字,上面就显示一个大层,然后显示输入的数字,并把数字用空格按照每四位分割出来.好像在建行的网上银行上面就有这种效果.第二个图的效果就是用户在一个文本框中输入一串数字,然后再光标离开的时候,把数字按照每三位用逗号给分割开来,类似于老外的金钱输入效果. 效果一 同步显示分割分割输入 这种效果中,仿造的就是输入银行卡子类的,故只能够输入数字,需要禁用用户输入的其它字符下面是几种实现方式.先贴上HTML和CSS代码: <html…
表达式 一元操作符 优先级 结合性 运算顺序 表达式是什么? 就是JS 中的一个短语,解释器遇到这个短语以后会把对它进行计算,得到一个结果参与运算,我们把这种要参与到运算中的各种各样的短语称为表达式.实际上,JS 的代码就是由表达式和操作符构成的,可以说除了操作符以外的基本都是表达式. 例如:a + 1:这行代码中,加号左边的a和右边的1都是表达式,而加号是操作符. 表达式的分类(大概可以分成6类) 1, 原始表达式(4种):常量.变量.直接量.关键字 常量:那些不会改变的量.其实在JS中大部分…
js中的5中基本数据类型 js标识符 第一个字符必须为字母,下划线,或美元符 其他字符可以是字母,下划线,美元符,数字 js标识符区分大小写 标识符不能使关键字和保留字 关键字: break do instanceof typeof case else new var catch finally return void continue for switch while debugger function this with default if throw   delete in try  …