- 浏览: 186743 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
w547377507:
注册账号来赞你!
Bootstrap 源码解析 -
xyixiaochuan:
// IIFE - Immediately Invok ...
IIFE -
jozo:
[color=orange][/color]
Quickling技术 -
raoyutao:
...
Bootstrap 源码解析 -
springmvc-freemarker:
bootstrap demo实例教程源代码下载:http:// ...
Bootstrap 源码解析
this的8种使用场景
// 1. Basic this function foo() { return this; } foo(); // 2. (function(){ return this; })() (function(){ 'use strict'; return this; })() // 3. Object this var a = { name: 'suqing', getContext: function(){ return this; } } a.getContext() // 4. Constructor this function Friend(area, favLan){ this.area = area; this.favLan = favLan; this.context = this; } var frnd1 = new Friend( 'client', 'js'); frnd1.context; // 5. Get this from the chain var dad = { fatherName: 'Dad' } var child = Object.create(dad); child.whoIsYourDad = function(){ return this.fatherName; } child.whoIsYourDad(); // 6. bind, call, apply function getMenu(){ return this; } var devMenu = { menu: 'pizza' }; var forDev = getMenu.bind(devMenu); forDev(); var forTester = getMenu.call(devMenu); forTester (); var forLeader = getMenu.apply(devMenu); forLeader (); // 7. setTimeout // 8. DOM
下面代码为Chrome Console输出
this
this
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
window
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
this === window
true
var myVar = 'my Day';
undefined
myVar
"my Day"
this.myVar
"my Day"
window.myVar
"my Day"
var a = {}
undefined
a.name = 'suqing'
"suqing"
var a = { name: 'suqing', context: this }
undefined
a.context
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
a.context === window
true
function foo(){ // something }
undefined
foo()
undefined
foo.trueExpertise = 'beginner';
"beginner"
foo.trueExpertise
"beginner"
foo.this
undefined
function whatIsThis(){ return this; }
undefined
whatIsThis()
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
(function(){ return this; })()
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
(function(){ 'use strict'; return this; })()
undefined
(function(self){ 'use strict'; return this; })(this)
undefined
(function(self){ 'use strict'; return self; })(this)
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
对象的this
var a = { name: 'suqing', getContext: function(){ return this; } }
undefined
a.getContext()
Object {name: "suqing", getContext: function}
var d = { name: 'yefeng' }
undefined
d.getContext = a.getContext
function (){ return this; }
d.getContext()
Object {name: "yefeng", getContext: function}
var foo = a.getContext
undefined
foo
function (){ return this; }
foo()
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
a.getContext()
Object {name: "suqing", getContext: function}
d.getContext()
Object {name: "yefeng", getContext: function}
foo()
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
var foo = a.getContext
undefined
foo()
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
构造器
function Friend() { this.area = area; this.favLan = favLan; this.context = this; }
undefined
function Friend(area, favLan) { this.area = area; this.favLan = favLan; this.context = this; }
undefined
var frnd1 = new Friend('client','js')
undefined
frnd1.context
Friend {area: "client", favLan: "js", context: Friend}
var frnd2 = new Friend('server','java')
undefined
frnd2.context
Friend {area: "server", favLan: "java", context: Friend}
Friend('server', 'java')
undefined
prototype链
var dad = { fatherName: 'Dad' }
undefined
var child = Object.create(dad)
undefined
child.fatherName
"Dad"
child.whoIsYourDad = function(){ return this.fatherName; }
function (){ return this.fatherName; }
child.whoIsYourDad()
"Dad"
参数this
function getMenu(){ return this; }
undefined
var devMenu = { menu: 'pizza' }
undefined
var forDev = getMenu.bind(devMenu)
undefined
forDev()
Object {menu: "pizza"}
var hrMenu = { menu: 'salad' }
undefined
var forHR = getMenu.bind(hrMenu)
undefined
forHR()
Object {menu: "salad"}
getMenu.call
function call() { [native code] }
getMenu.apply
function apply() { [native code] }
getMenu.apply(hrMenu)
Object {menu: "salad"}
getMenu.call(hrMenu)
Object {menu: "salad"}
setTimeout
var a = { getContext: function(){ setTimeout( function(){ console.log(this); }, 10) } }
undefined
a.getContext()
undefined
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
var a = { getContext: function(){ setTimeout( function(){ console.log(this); }, 4000) } }
undefined
a.getContext()
undefined
Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}
DOM event handler
document.getElementById('s_rp_words').addEventListener('click', function(){ console.log(this); })
undefined
- <span id="s_rp_words" class="s-rp-words">…</span>
发表评论
-
前端模块化
2014-04-21 17:26 1621前端模块化解决什么 ... -
JS递归
2014-04-18 09:06 0var factorial = (functio ... -
requirejs
2014-04-15 14:07 0http://blogs.telerik.com/kend ... -
关于前端线上故障
2014-04-11 11:32 1299先说明一点,对于故障的认识: 任何事情都是团队的事情,不 ... -
又到一周 周报时
2014-04-11 11:06 1138先说个段子: 公司有个技术牛人,某产品专员向他提单,牛人 ... -
Web应用的组件化开发(二)
2014-04-10 17:29 0Web应用的组件化开发(二) 管控平台 在上一篇中我 ... -
旋转表格的标题
2014-04-09 22:16 0最近做项目的后台管理遇到这样一个问题,表头的属性又多又长, ... -
关于字体大小适配:根文档使用px,组件使用rem,文本元素使用em
2014-04-09 22:10 7687rem是一个非常酷的CSS3属性,它相对于根元素<h ... -
关于字体大小适配:根文档使用px,组件使用rem,文本元素使用em
2014-04-09 21:50 0rem是个非常酷的css属性,我准备将所有的尺寸都用它做单位 ... -
Bootstrap 源码解析
2014-04-03 10:12 31791、Bootstrap的作用域 2、Bootstrap的 ... -
IIFE详解
2014-03-31 20:39 2659介绍IIFE; IIFE的性能; 使用IIFE的好处 ... -
消除每个页面都加载KindEditor
2014-03-13 16:05 0如果a页面需要使用KindEditor,a.html引入k ... -
导航折叠展开
2014-03-13 12:01 0// 导航展开/收起,基于bs.collapse ... -
富文本
2014-03-12 19:44 0var editor2 KindEditor.r ... -
从 开始日期 到 结束日期
2014-03-12 19:28 0<div class="input-gro ... -
KUI:CSS实现radio按钮样式
2014-03-12 17:54 0<ul class="radio-btn& ... -
咦。。。
2014-03-11 16:28 0咦。。。 -
工程师,请优化你的代码
2014-03-11 15:02 0jQuery ready事件 DOM操作 事件处理 ... -
PhantomJS
2014-02-20 11:41 963这里下载,如果下载不了到这个备份下载v1.9.7 ... -
SPM处理方案
2014-01-20 14:54 0SPM处理方案
相关推荐
在《You Don't Know JS: this & Object Prototypes》一书中,作者Kyle Simpson深入探讨了JavaScript中的`this`关键字和对象原型机制。这本书不仅适合JavaScript新手,也适用于那些希望更深入理解语言核心特性的有...
在网页开发中,JavaScript(JS)经常用于增强用户体验,其中一个常见的功能是实现用户单击文本框时弹出日期选择器。这个功能可以帮助用户方便快捷地输入日期,避免手动输入可能出现的格式错误。本文将详细讲解如何...
JavaScript闭包是编程语言中一个核心的概念,尤其在JavaScript中,它是理解和编写高效代码的关键。闭包的本质是函数能够访问并操作在其外部定义的变量,即使该函数在外部作用域执行完毕后仍然能够保持对这些变量的...
这种机制允许我们轻松地扩展和重用现有对象的功能,同时也使得JavaScript成为一种非常适合面向对象编程的语言。理解这些基本概念对于深入学习JavaScript和编写高质量的JavaScript代码至关重要。
综合以上知识,`js 面向对象实例`涵盖了JavaScript中的面向对象编程基础,以及如何将这些概念应用到HTML5 Canvas的实践中。通过学习和实践这个实例,你不仅可以理解JavaScript的OOP机制,还能掌握如何利用Canvas API...
- **兼容性:** 当系统中没有GPU可用时,GPU.js能够优雅地回退到JavaScript执行,确保代码在任何环境下都能正常工作。 - **易于使用:** GPU.js的API设计考虑到了JavaScript开发者的习惯,使得开发者无需学习新的语言...
Vue.js 是一个流行的前端JavaScript框架,用于构建用户界面。它以其简单易学、灵活和高效的特点深受开发者喜爱。Vue.js Devtools 是一个强大的浏览器开发者工具,专为Vue.js应用程序设计,帮助开发者在Chrome浏览器...
**jsTree:构建前端树形结构的利器** jsTree 是一个强大的 JavaScript 库,专用于在 Web 页面上创建交互式的树形结构。它基于纯 JavaScript ...结合提供的示例代码和文档,你将能够轻松地在项目中集成和定制 jsTree。
在JavaScript编程中,`this`关键字是一个非常重要的概念,它指向函数执行时的上下文环境,其值由函数调用的方式来决定。在不同的执行上下文中,`this`的指向会有所不同,这常常会导致许多开发者感到困惑。在函数定义...
它在Web开发中扮演着重要的角色,尤其在AJAX(异步JavaScript和XML)应用中,Prototype.js 提供了丰富的功能和工具,使得开发者能更高效地编写JavaScript代码。 ### 一、Prototype.js核心特性 1. **DOM操作**:...
在网页开发中,有时我们需要为用户提供简体中文与繁体中文之间的转换功能,以满足不同地区用户的阅读需求。...通过理解和应用这些技术,开发者可以轻松地在网页中添加简体繁体转换功能,为用户提供更贴心的浏览体验。
JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,能够对用户界面进行实时更新和交互。在Web开发中,选项卡(Tab Container)是一种常见的UI设计模式,它能帮助用户组织和切换多个内容...
在`super.drag.1.0.js`这个文件中,很可能包含了实现这一功能的核心代码。通常,这样的插件会定义一个函数或类,用于初始化和管理拖拽行为。函数可能包含设置初始状态、绑定事件处理器、计算坐标差值以及更新元素...
结合Vue.js与bpmn.js,我们可以创建交互式的流程图,帮助用户直观地理解或编辑业务流程。 bpmn.js 是一个开源库,专门用于在Web上渲染和编辑BPMN 2.0流程图。这个库提供了丰富的API和工具,使得开发者能够方便地将...
### 轻松学习JavaScript——核心知识点概览 #### 一、引言 在现代Web开发领域中,JavaScript无疑是最为核心的技术之一。无论是前端开发还是后端开发,掌握JavaScript都是必不可少的技能。本文旨在帮助初学者快速...
API提供了地图加载、图层管理、地理编码、空间分析等功能,使开发者能够轻松地集成地图功能到网页中。 Dojo Dijit是Dojo Toolkit的一部分,专门用于构建用户界面。Dijit库包括各种预先设计好的可复用组件,如按钮、...
在IT行业中,JavaScript是一种广泛使用的前端编程语言,用于构建交互性强、动态的网页应用。jQuery是JavaScript的一个库,它简化了DOM操作、事件处理、动画设计等任务,使得JavaScript编程更加简便。本教程将深入...
### JS在继承方法中添加其他处理 #### 背景介绍 JavaScript 是一种广泛使用的脚本语言,尤其在前端开发领域。它支持多种面向对象编程(OOP)模式,包括类和继承。在 JavaScript 中实现继承有多种方式,例如原型链继承...
它封装了WebGL接口,使得开发者无需深入理解复杂的WebGL API,就能轻松创建出具有视觉冲击力的3D场景。 首先,我们要在HTML文件中引入Three.js库。通常,我们可以通过CDN链接或本地文件引用的方式进行引入。例如: ...
通过研究这个项目,你可以更深入地理解如何在实践中应用Video.js和HLS。 总结,Video.js 支持HLS播放,使得开发者能够在各种浏览器和设备上实现流畅的视频流服务。结合`videojs-contrib-hls`插件,可以轻松地处理...