随笔分类 - Javascript笔记
记录Javascript的基本知识
摘要:概念 Promise是一个容器,用于保存异步操作的最终完成情况(成功or失败) 语法 new Promise( function(resolve,reject) { } ) 我们稍作分析 Promise是一个系统内置的构造函数,new Promise的时候传入一个带有resolve和reject两个
阅读全文
摘要:我们应该把原型链看做一种委托关系而非类的父子关系,A继承与B,A没有的属性委托给B。原型链就是一种委托机制,允许我们将行为委托给链上更远的一环来处理 如果访问已被覆盖的方法会怎样呢?子对象当然可以覆盖父对象的方法,在任何面向对象系统中都可以这么做。但是在大多数面向对象系统中,被覆盖的方法必须通过类似
阅读全文
摘要:前言:感觉这本书只有第二章 第三章有点看头 基本类型和引用类型 基本类型:字符串 数字 布尔值 null(待确定) undifined 引用类型:对象 数组 作用域 上下文 闭包 ID为main的元素 var obj = document.getElementById("main"); 要绑定的数组
阅读全文
摘要:可以让call()中的对象调用当前对象所拥有的function。
阅读全文
摘要:在一个页面上画一个按钮,有四种办法: <input type="button" /> 这就是一个按钮。如果你不写javascript 的话,按下去什么也不会发生。 <input type="submit" /> 这样的按钮用户点击之后会自动提交 form,除非你写了javascript 阻止它。 <
阅读全文
摘要:iterable 阅读: 148111 遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。 具有iterable类型的集合可以通过新的for ... of循环来遍历。 f
阅读全文
摘要:JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。 但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。 为了解决这个问题,最新的ES6规范引入了新的数据类型Map。
阅读全文
摘要:Javascript语言的设计不够严谨,很多地方一不小心就会出错。 举例来说,请考虑以下情况。 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下: 你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Za
阅读全文
摘要:回调函数(callback) 基本上每本书里都会提一提实际上我们几乎每天都在用回调函数,那么如果问你到底什么是回调函数呢? 1. 回调函数是作为参数传递给另一个函数 2. 函数运行到某种程度时,执行回调函数 3 回调函数是异步的 为什么需要回调函数: 异步:一般ajax请求都是异步的。请求发出去后,
阅读全文
摘要:静态属性不能被实例对象调用,即通过以new 操作符实例化后的对象调用,如上例中的a调用,只能通过类名调用,即Foo调用.也就是挂载在函数自身上的方法 为什么要有静态方法? 有些东西是不需要实例的,只要有类就存在的,比如Array.isArray(obj);判断一个对象是不是数组,如果这个方法是数组实
阅读全文
摘要:显然这是一个无关IE(高级IE除外)的话题,尽管如此,有兴趣的同学还是一起来认识一下ECMAScript5标准中getter和setter的实现。在一个对象中,操作其中的属性或方法,通常运用最多的就是读(引用)和写了,譬如说o.get,这就是一个读的操作,而o.set = 1则是一个写的操作。事实上
阅读全文
摘要:在javascript中数组就是一个可以存放任何类型的集合。存储在数组中的值用逗号分隔 数组也是对象,拥有对象所拥有的特性
阅读全文
摘要:arguments: ECMA5移除了实参对象(arguments),在非严格模式下函数里的arguments只是一个标识符,在严格模式下它变成了保留字。严格模式下无法使用arguments作为形参名或局部变量名也不能给它赋值 callee caller: 在ECMA5中对这两个属性的读写会产生一个
阅读全文
摘要:1. for...in 用于对数组或者对象的属性的可枚举属性进行循环操作。注意该对象来自原型链上的可枚举属性也会被循环。下面看例子 <ul id="box"> <li class="child">1</li> <li class="child">2</li> <li class="child">3<
阅读全文
摘要:只允许输入汉字:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" 只允许输入数字:onkeyup="this.value=this.value.replace(/\D/g,'')"
阅读全文

浙公网安备 33010602011771号