JS原型和继承

JS原型与继承

首先原型和继承在 JavaScript 中一直都是比较核心重点并且难点的理论,今天我们就来看看其中的奥秘点,

1. 开篇

先看如下代码出自 JavaScript 高级程序设计第三版 P163:

[Read More]
js  基础 

this 豁然开朗!

this 豁然开朗的四种规则

调用点(call-site)

调用点:“找到一个函数是在哪里被调用的”,但不总是那么简单,比如某些特定的编码模式会使 真正的 调用点变得不那么明确。

调用栈(call-stack)

调用栈:使我们到达当前执行位置而被调用的所有方法的堆栈。

我们来展示一下调用栈和调用点:

[Read More]
js  基础 

TJS转化大写

用JS转化大写,98%的都前端同学都没作出来!

题目:使用JavaScript 将字符串中由空格隔开的每个单词 首字 母大写,写出通用方法。

题目解释:

原始字符串: var string =”I believe I am the best”
通过您的方法得到后的结果:string 的值为”I Believe I Am The Best”.

[Read More]
JS  基础 

addLoadEvent自定义方法

自定义方法 addLoadEvent

假如我们希望某个函数在网页加载完毕之后就立即执行。网页加载完毕时会触发一个onload事件,所以我们可以利用onload事件来加载这个函数。Onload事件与window对象相关联。 如:把myfunction函数绑定到这个事件上:

[Read More]
JS  基础 

arguments系列问题

arguments、arguments.callee、arguments.caller的关系和区别 JS高三教程(P177),一段代码中用到了arguments.callee来调用函数自生,书中介绍到 “是一个指向正在执行的函数的指针,可以用它来实现对函数的递归调用。” 这段递归调用代码如下: function factorial (num) { if (num <= 1) { return 1; } else { return num * arguments.callee(num - 1); } } var num = factorial(10); console.log(num); // => 3628800 很简单的一段代码。于是自己为了搞清楚知识点,加强自身JS基础,就自己查了下文档 arguments arguments.callee arguments.caller 三者的关系与区别: arguments: 在函数调用时, 会自动在该函数内部生成一个名为 arguments的隐藏对象。 该对象类似于数组, 但又不是数组。可以使用[]操作符获取函数调用时传递的实参。 arguments对象不是一个 Array 。它类似于数组,但除了 长度之外没有任何数组属性。 没错它是个对象!并且它存储的是实际传递给函数的参数 function obj(){ //利用instanceof判断arguments console.log( 'arguments instanceof Array? ' + (arguments instanceof Array) ); // => false console. [Read More]
JS  基础