Welcome 微信登录

首页 / 脚本样式 / JavaScript

深入理解javascript原型链和继承

深入理解javascript原型链和继承

在上一篇文章中,介绍了原型的概念,了解到在javascript中构造函数、原型对象、实例三个好基友之间的关系:每一个构造函数都有一个“守护神”——原型对象,原型对象心里面也存着一个构造函数的“位置”,两情相悦,而实例呢却又“暗恋”着原型对象,她也在心里留存了一个原型对象的位置。javascript本身不是面向对象的语言,而是基于对象的语言,对于习惯了其他OO语言的人来说,起初有些不适应,因为在这里没有“类”的概念,或者说“类”和“实例”不区分,更不要指望有...
再探JavaScript作用域

再探JavaScript作用域

黄金守则第一条:js没有块级作用域(你可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到。firsttry:这是为什么呢??var a = 10;function aaa(){//step-4alert(a);//step-5->执行alert,此时只能找到外面的a=10故弹框10}function bbb(){//step-2var a = 20;aaa();//step-3}//定义了函数没啥...
JavaScript获取图片真实大小代码实例

JavaScript获取图片真实大小代码实例

网页页面上的图片尺寸似乎都千篇一律。我们最常见到的带有多图的文章页面中,图的大小通常是和页面的宽度一致,这样看起来,页面就是一个直筒形,这样的布局看多了就会觉得很单调。之所以形成这样的局面,我想很大程度上是因为老式浏览器的限制。但随着现代浏览器(火狐/谷歌/IE11)的普及,浏览器对页面设计的限制越来越少,Web程序员的想象能力能够得到极大的发挥。比如,冷知识:你知道每个视窗都有的 [x] 是怎么来的吗?这篇文章中,很多图片超出了文本宽度的限制,给人一种参...
JavaScript设计模式之观察者模式(发布者-订阅者模式)

JavaScript设计模式之观察者模式(发布者-订阅者模式)

观察者模式( 又叫发布者-订阅者模式 )应该是最常用的模式之一. 在很多语言里都得到大量应用. 包括我们平时接触的dom事件. 也是js和dom之间实现的一种观察者模式.复制代码 代码如下:div.onclick = function click (){alert ( ”click" )}只要订阅了div的click事件. 当点击div的时候, function click就会被触发。那么到底什么是观察者模式呢. 先看看生活中的观察者模式。好莱坞有句名言....
JavaScript中实现异步编程模式的4种方法

JavaScript中实现异步编程模式的4种方法

你可能知道,Javascript语言的执行环境是”单线程“(single thread)。所谓”单线程”,就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方...
JavaScript设计模式之单例模式实例

JavaScript设计模式之单例模式实例

《Practical Common Lisp》的作者 Peter Seibel 曾说,如果你需要一种模式,那一定是哪里出了问题。他所说的问题是指因为语言的天生缺陷,不得不去寻求和总结一种通用的解决方案。不管是弱类型或强类型,静态或动态语言,命令式或说明式语言、每种语言都有天生的优缺点。一个牙买加运动员, 在短跑甚至拳击方面有一些优势,在练瑜伽上就欠缺一些。术士和暗影牧师很容易成为一个出色的辅助,而一个背着梅肯满地图飞的敌法就会略显尴尬。 换到程序中, 静态...
JS实现一个列表中包含上移下移删除等功能

JS实现一个列表中包含上移下移删除等功能

最近做了一个项目,包括了一个列表页,为了用户体验,操作均使用JS实现,其中包括在列表中实现上移,下移,删除等功能,前台JS,后端数据修改使用AJAX,本文主要说一下前台JS这块先看一下页面的截图看一下它的HTML结构,当然,这与前台切图有关,后端程序人员只负责写自己的JS这块,我以我们项目为例,看一下它们切的HTML<ul class="clearfix"><li class="courseList"><div class="...
用C/C++来实现 Node.js 的模块(一)

用C/C++来实现 Node.js 的模块(一)

N久之前的一个坑——用 Node.js 来重构 NBUT 的 Online Judge,包括评测端也得重构一遍。(至于什么时候完成大家就不要关心了,(/‵Д′)/~ ╧╧ 总之我们现在要做的其实简而言之就是——用C/C++来实现 Node.js 的模块。准备工作 工欲善其事,必先~~耍流氓~~利其器。node-gyp 首先你需要一个 node-gyp 模块。 在任意角落,执行:复制代码 代码如下:$ npm install node-gyp -g ...
Nodejs异步回调的优雅处理方法

Nodejs异步回调的优雅处理方法

前言Nodejs最大的亮点就在于事件驱动, 非阻塞I/O 模型,这使得Nodejs具有很强的并发处理能力,非常适合编写网络应用。在Nodejs中大部分的I/O操作几乎都是异步的,也就是我们处理I/O的操作结果基本上都需要在回调函数中处理,比如下面的这个读取文件内容的函数:复制代码 代码如下:fs.readFile("/etc/passwd", function (err, data) { if (err) throw err; console.log(da...
我用的一些Node.js开发工具、开发包、框架等总结

我用的一些Node.js开发工具、开发包、框架等总结

开发工具1.WebStorm,毫无疑问非他莫属,跨平台,强大的代码提示,支持Nodejs调试,此外还支持vi编辑模式,这点我很喜欢。2.做些小型项目用Sublime Text。3.Browserify:将你的nodejs模块应用到浏览器中4.nvm:nodejs版本管理工具,你可能会用到多个nodejs版本(如v0.11.x支持generator的nodejs和stable的v0.10.x版本),用它可以方便切换测试&自动化1.mocha:一个简单、灵活有...
Nodejs Post请求报socket hang up错误的解决办法

Nodejs Post请求报socket hang up错误的解决办法

参考nodejs官网发送http post请求的方法,实现了一个模拟post提交的功能。实际使用时报socket hang up错误。后来发现是请求头设置的问题,发送选项中需要加上headers字段信息(这个估计也和对方的服务器有关,对于不完成的post请求头,可能被丢弃了)。完整的代码如下(遇到类型问题的同学可以做个参考):复制代码 代码如下:var querystring = require("querystring") , http = requir...
JS小游戏之宇宙战机源码详解

JS小游戏之宇宙战机源码详解

本文实例讲述了JS小游戏的宇宙战机源码,分享给大家供大家参考。具体介绍如下:一、游戏介绍:这是一款飞行射击游戏,纵向,共六关。二、游戏需求:1.战机可发射子弹,子弹可通过获取道具升级。2.战机可放bomb,可获取道具增加数量。3.战机可蓄力攻击。4.道具有三种,分别是升级子弹,增加bomb数量,增加战机数量。5.每关音乐不同。6.战机被击落后再进入战场,有保护状态。7.敌机AI设计。游戏运行如下图所示:完整实例代码点击此处本站下载。三、Javascript...
JS小游戏之仙剑翻牌源码详解

JS小游戏之仙剑翻牌源码详解

本文实例讲述了JS小游戏的仙剑翻牌源码,是一款非常优秀的游戏源码。分享给大家供大家参考。具体如下:一、游戏介绍:这是一个翻牌配对游戏,共十关。1.游戏随机从42张牌中抽取9张进行游戏,每组为2张相同的牌,共18张牌。2.连续翻到两张相同的为胜利,当9组全部翻到则过关。如不是翻到连续两张相同的,则需要重新翻。3.游戏共有10关,在规定时间内通过为挑战成功。4.如果某关在规定时间内没有通过,则会从当前关继续游戏。5.游戏中的卡牌图片与音乐均为大宇公司所有。6....
<< 921 922 923 924 925 926 927 928 929 930 >>