在 js 中 无论是函数, 还是方法, 还是事件, 还是构造器, ... 其本质都是函数. 只是处在不同的位子而已。 四种模式有:函数模式,方法模式,构造器模式,上下文模式 1.函数模式 特征: 就是一个简单的函数调用. 函数名的前面没有任何引导内容,其中this表示全局对象,在浏览器中是window。比如:function foo () {}var func = function () {};...foo();func();(function (){})(); 2.方法模式 特征: 方法一定是依附于一个对...
一个是如何创建JSON:var obj = {}; obj[‘name‘] = value; obj[‘anotherName‘] = anotherValue;如果要创建多级的JSON,则:ips[ipId] = {}; ips[ipId][‘name‘] = value; ips[ipId][‘anotherName‘] = anotherValue;注意要用bracket[]而不能用点. 来访问json objectbracket虽然写起来麻烦一些,但是可以避免很多错误!http://stackoverflow.com/questions/4071499/dynamically-add-variable-name-value-pairs-to-json-object...
call 方法调用一个对象的一个方法,以另一个对象替换当前对象。call([thisObj[,arg1[, arg2[, [,.argN]]]]])参数thisObj可选项。将被用作当前对象的对象。arg1, arg2, , argN可选项。将被传递方法参数序列。说明call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj笔记:其实就是更改对象...
JSON中无法使用length去获取长度,length只针对数组对象适用:var data={"showdata":{"中国人民大学":{"201311":"24","201312":"98"}},"hotwords":["中国人民大学","人民大学","中国","大学","教授","工作","发展","陈雨露校长","学院","学生","交流","学校","院长","合作","教育","艺术","研究","专家学者","人大","社会"]} data中的两个对象如下,分别是Object 和Array。//hotwords.lengthhotwords: [中国人民大学, 人民大学, 中...
JavaScript 中,大多数情况下,我们不会发现 location.host 与 location.hostname 的区别,因为大多数情况下,我们的网页用的是 80 端口。他们的区别:location.host 包含端口,比如是 127.0.0.1:81。如果端口是 80,那么就没有端口,就是 127.0.0.1。location.hostname 不包含端口,比如是 127.0.0.1。原文:http://www.cnblogs.com/azhqiang/p/7390378.html
最近学习javascript,碰到caller和callee的问题,去网上百度了很多。搜到的内容大同小益,整理总结了一下与大家分享。caller:返回一个对调用function函数的函数的引用(用法:function.caller)说明:对于函数来说,caller属性只有在函数执行时才有定义。如果函数由顶层调用,caller则为null。var time = 3 //控制次数,去掉会一直在caller与handleCaller交替不断执行 function caller() {caller.caller()//返回调用caller函数的函...
ES6的很多特性都跟Generator扯上关系,而且实际用处比较广, 包含了任何需要异步的模块, 比如ajax, filesystem, 或者数组对象遍历等都可以用到; Generator的使用: Generator函数和普通的函数区别有两个, 1:function和函数名之间有一个*号, 2:函数体内部使用了yield表达式;比如这样:function* gen() {yield"1";yield"2" } 这个玩意儿如果运行的话,会返回一个Iterator实例, 然后再执行Iterator实例的next()方...
1.with语句会抛错误 2.未声明的变量被赋值会报错 3.arguments在严格模式下变为静态,传入的参数与arguments无关系 4.delete会报错 5.对象的重复属性名会报错 6.禁止八进制变量 7.eval被认定为关键字,另外eval的参数中若有定义变量的语句,在严格模式下只是一段平凡的字符串,使用typeof检测不到在eval里定义的变量类型。JavaScript中严格模式"use strict";需注意的几个雷区:原文:http://www.cnblogs.com/zhuan/p/6121179.html
bug合集又开始了 坑王 操作数选择器。。。 原文:https://www.cnblogs.com/cx2016/p/13202893.html
如何防止回车(enter)键提交表单,其实很简单,就一句话。onkeydown="if(event.keyCode==13)return false;"把这句写在from标签里面就好了。如果在页面中按Enter键会自动提交的话,可以设置返回值防止自动提交如<input id="q" name="q" type="text" onkeypress="javascript:return gosearch();">返回值必须是falsefunction gosearch() { if(window.event.keyCode == 13) { search(); return false; } }或者直接在form中写 <...
typeof 操作符是确定一个变量是字符串、数值、布尔值、还是undefined的最佳工具。 虽然在检测基本数据类型时 typeof 是非常得力的助手,但在检测引用类型的值时,这个操作符的用处不大。var arr = new Array(); typeof arr // ‘object‘var obj = new Object(); typeof obj; // ‘object‘ 通常,我们并不想知道某个值是对象,而是想知道他是什么类型的对象。为此ECMAScript提供了 instanceof 操作符,其语法如下:result = varia...
------------恢复内容开始------------问题来源:在将2048游戏发布到github pages时,发现了最高分显示一直为null当score变换了,best依旧为null 发现不管如何移动localStorge存储的一直都是null,但是在webstorm运行时,没有出错,且能获取到localStorge. vscode和github上面的都是同样的错误,那一定是代码出现了问题.localStorgelocalStorage 中的键值对总是以字符串的形式存储,不受页面刷新的影响,也不会因为关闭窗口,变迁也重启浏览器...
因为ECMAScript中函数名本事就是一个变量,所以函数也可以作为值来使用,即不仅可以向传递参数一样把函数传递给另一个函数,而且可以将函数作为另一个函数返回这个函数接受两个参数,第一个参数是一个函数名,第二个参数是传递给该函数的一个值function add(num){return num+10;}var result=callFunction(add,10){alert(result);//20}原文:http://blog.csdn.net/hephec/article/details/39324497
this是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。不过,匿名函数的执行环境具有全局性,因此其this对象通常指向window.但有时候由于编写闭包的方式不同,这一点可能不会那么明显。下面来看一个例子:?123456789101112varname="The Window";varobject={ name : " My Object"; getNameFunc : function() { ...
本篇文章主要针对javascript的属性进行分析,由于javascript是一种基于对象的语言,本身没有类的概念,所以对于javascript的类的定义有很多名字,例于原型对象,构造函数等,它们都是指javascript中的类。 例如:function Person(){} var p = new Person(); 这里的Person可以看作一个类,而p则是这个类的实例也可以称为对象。这里主要分析js里面的四种属性。 私有属性,指定义在类中用var声明的,即var propertyName = sonm...