<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js封装</title> </head> <body> </body> </html> <script type="text/javascript"> //javascript中…
语法糖,等价于 if(!!num === false) num=1; 类似于java的 num=null ? 1 : num 以下是来自某位知友的解答: 就是个简写法而已.好处就是短一点,但是其实坏处更大. 你是否确切知道什么时候会变成1? ——当num有值为0时,也会变成1!——当num有值为NaN时(很可能意味着前面的计算出错了),也会变成1!——另外当传入的值类型错误时,本来或许你的程序会报错,但是经过这个语句,也许就不报错了. 这些很可能不是你想要的结果,尤其是许多函数可能会加上针对0这…
最近在写一些前端的代码,遇到一个产品列表遍历的问题,正好使用到for 的几种用法,于是研究了下. 代码如下,先说明下goodslist 是一个产品列表 形如这样的数据格式 { ‘types’:1, 'name':苹果 } { ‘types’:2, 'name':香蕉 } { ‘types’:3, 'name':菠萝 } 第一种写法:直接遍历数组对象方式 for ( let i =0; i < goodslist.length; i++){ if (goodslist[i].types==type…
效果图: 1.基本写法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatib…
 第一:在含数前面加一元运算符: //方法1 +function (i) { console.log('+'); }(1); //方法2 -function (i) { console.log('-'); }(2); //方法3 !function (i) { console.log('!'); }(3); //方法4 ~function (i) { console.log('~'); }(4); 第二:可以使用逻辑运算符执行: true && function (i) { console…
function create(obj) { // 2.1 判断浏览器支持不支持 Object.create // 如果支持,直接使用 Object.create // 如果不支持,自己实现 if(Object.create) { return Object.create(obj); } else { function F() {} F.prototype = obj; return new F(); } }…
要搞懂JS继承,我们首先要理解原型链:每一个实例对象都有一个__proto__属性(隐式原型),在js内部用来查找原型链:每一个构造函数都有prototype属性(显示原型),用来显示修改对象的原型,实例.__proto__=构造函数.prototype=原型.原型链的特点就是:通过实例.__proto__查找原型上的属性,从子类一直向上查找对象原型的属性,继而形成一个查找链即原型链. 1.原型链继承 我们使用原型继承时,主要利用sub.prototype=new super,这样连通了子类-子…
在JavaScript模块到底是什么 event = function() { // do more return { bind: function() {}, unbind: function() {}, trigger: function() {} }; }();这能代表“模块”吗?这就是一个JS对象啊,以为有多么深奥. 是的,JavaScript中模块多数时候被实现为一个对象.这么看来,多数时候我们都写过“模块”(但没有在整个项目中应用模块化思想).或许每个人写模块的方式(风格)还不同.比…
在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hello var'; }; function sayHello(name) { return 'Hello function'; }; sayHello(); 最终的输出为 > "Hello var" 为什么会这样,根据 StackOverFlow 的解释,实际上JavaScript的是…
javascript中(function($){...})(jQuery)写法是什么意思   这里实际上是匿名函数function(arg){...}这就定义了一个匿名函数,参数为arg 而调用函数 时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:(function(arg){...})(param)这 就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数 而(function($){...}) (jQuery)则是一样的,之所以只…