本文是通过示例详细分析了JS中三目运算符和if else的区别,是篇非常不错的文章,这里推荐给大家.   今天写了一个图片轮播的小demo,用到了判断 先试了一下if else,代码如下: 复制代码代码如下: if(n >= count-1){n =0;}else{n ++;} 随后代码写完了,准备优化一下代码,将此段改成了三目运算符的写法 复制代码代码如下: n = n >= (count-1) ? n=0 : n++ 结果完全不同 随后研究了一下这两者的区别,总结为一句话:三目运算有返回值…
今天写了一个图片轮播的小demo,用到了判断   先试了一下if else,代码如下:   if(n >= count-1){ n =0; }else{ n ++; } 随后代码写完了,准备优化一下代码,将此段改成了三目运算符的写法   n = n >= (count-1) ? n=0 : n++ 结果完全不同   随后研究了一下这两者的区别,总结为一句话:三目运算有返回值,if else没有返回值   做了如下测试:   复制代码 var n=1;  if(n>1){     n=0;…
js中new和Object.create()的区别 var Parent = function (id) { this.id = id this.classname = 'Parent' } Parent.prototype.getId = function() { console.log('id:', this.id) }; var Child = function (name) { this.name = name this.classname = 'Child' } Child.proto…
JS中的== .===的用法和区别.[转] == 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 . 而  === 和 !== 只有在相同类型下,才会比较其值 ============================================================ 1.对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较"转化成同一类型后的值"看"值"是否相等,===如果类型不同,…
js中callback.call()和callback()的区别在js中callback.call()和callback() 有什么区别,举个例子:function a(){alert('hello!');}function b(callback){callback();}function c(callback){callback.call();}function test(){b(a);c(a);}在test函数中,b和c的效果是一样的,都执行了回调函数a.这两种用法有什么区别呢? -----…
JS中window.alert()与alert()的区别 前言 alert与window.alert没什么区别,如果有人觉得有区别,那就来解释一下:所有以window.开始的语句,都可以直接把window省略.只是在有些软件中,由于其编译器特性,当你写了window.的时候会自动的出现window的方法,所以如果你记得住完全没必要写window. 比如location.href=window.location.href. 美文美图…
JS中==.===和Object.is()的区别 首先,先粗略了解一下这三个玩意儿: ==:等同,比较运算符,两边值类型不同的时候,先进行类型转换,再比较: ===:恒等,严格比较运算符,不做类型转换,类型不同就是不等: Object.is()是ES6新增的用来比较两个值是否严格相等的方法,与===的行为基本一致. 下面分别详细说明一下这三个玩意儿: 1.先说===,这个比较简单,只需要利用下面的规则来判断两个值是否恒等就行了: 如果类型不同,就不相等 如果两个都是数值,并且是同一个值,那么相等…
这两天看到别人写的代码,感觉很牛逼,如下,大神请忽视 $(".lgn").on("click", function() { var a = {}; a.loginType = $(this).data("logintype"); a.loginType == wx_utils.LOGIN_TYPE.WX ? (a.username = $("#username").val(), a.password = $("#pa…
构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总与new运算符一起使用. 在js中,构造函数与普通函数的区别不是很大.接下来就主要讲讲两者的区别. 1.在命名规则上,构造函数一般是首字母大写,普通函数则是遵照小驼峰式命名法. 2.在函数调用时, //构造函数 function Egperson (name,age) { this.name = n…
最近很多前端的朋友去面试被问到let和var的区别,其实阮一峰老师的ES6中已经很详细介绍了let的用法和var的区别.我简单总结一下,以便各位以后面试中使用. ES6 新增了let命令,用来声明局部变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束. 先看个var的常见变量提升的面试题目: 题目1: var a = 99; // 全局变量a f(); // f是函数,虽然定义在调用的后面,但是函数声明会提升到作用域的顶部. console.l…