2. 接口接口是面向对象JavaScript程序员的工具箱中最有用的工具之一。GoF在《设计模式》一书中提出的可重用面向对象设计的第一条原则就说道:“针对接口而不是实现编程”,这个概念的基本性由此可见一斑。问题在于,JavaScript中没有内置的创建或实现接口的方法。他也没有内置的方法可以用于判断一个对象是否实现了另一个对象相同的一套方法,这种对象很难互换使用。好在JavaScript有这出色的灵活性,因此添加这些特性并非难事。先...
1.创建对象 代码如下:var person = new Object(); person.name = "RuiLiang"; person.age = 30; person.job = "Teacher"; person.sayName = function () { alert(this.name); }; person.sayName(); 2.工厂模式 缺点:不能识别对象 代码如下:function createPerson(name,age,job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function () { alert(this.name); }; return o; } var person1 = ...
1.创建对象 代码如下: var person = new Object(); person.name = "RuiLiang"; person.age = 30; person.job = "Teacher"; person.sayName = function () { alert(this.name); }; person.sayName(); 2.工厂模式 缺点:不能识别对象 代码如下: function createPerson(name,age,job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function () { alert(this.name); }; return o; } var person1 ...
除了的webpack基本配置,还可以进一步添加配置,优化合并文件,加快编译速度。下面是生产环境配置文件webpack.production.js,与wenbpack.config.js相比其不需要一些dev-tools,dev-server和jshint校验等,将与开发相关的东西删掉。下面的介绍均以此代码配置作参考。 /*生成环境配置文件:不需要一些dev-tools,dev-server和jshint校验等。和开发有关的东西删掉*/ var webpack = require(webpack); var path = require(path); var no...
本文实例讲述了微信小程序学习笔记之本地数据缓存功能。分享给大家供大家参考,具体如下: 前面介绍了微信小程序获取位置信息操作。这里再来介绍一下微信小程序的本地数据缓存功能。【将数据存储在本地缓存】wx.setStorage 【读取本地缓存】wx.getStorage 以手机号+密码登录为例,把登录成功返回的token值存储在本地缓存中,然后读取缓存中的token: login.php: <?php header("Content-type:text/html;charset=utf-8");$arr = arr...
代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="js/jquery-1.3.2.js"></script> <script type="text/javascript"><!-- $(function(){ $("#aFirst").click(function(){ ...
在之前的介绍中,我们已经知道 Javascript 没有块级作用,只有函数级作用域。代码如下: function test() { // a scopefor(var i = 0; i < 10; i++) { // not a scope// count}console.log(i); // 10 }Javascript 中也没有显示的命名空间,这就意味着一切都定义在全局作用域中。每一次引用一个变量时,Javascript 会往上遍历整个全局作用域直到找到该变量。如果遍历完整个全局作用域仍然没有找到该变量,则抛出一个 ReferenceError ...
代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="js/jquery-1.3.2.js" ></script> <script type="text/javascript"><!-- $(function(){ $("#aAttr1").click(function(){ ...
一、筛选类函数 ancestors、recursivelyCollect、descendants、firstDescendant、immediateDescendants、previousSiblings、nextSiblings、siblings、match、up、down、previous、next、select、adjacent。 二、增、删、改元素类函数 insert、update、remove、replace、wrap、cleanWhitespace 三、设置元素各种属性类函数 visible、toggle、hidde、show、identify、readAttribute、writeAttribute、makeClippi...
最近工作轻松了点,想起了以前总是看到的一个单词promise,于是耐心下来学习了一下。一:Promise是什么?为什么会有这个东西? 首先说明,Promise是为了解决javascript异步编程时候代码书写的方式产生的。 随着javascript的发展,异步的场景越来越多。前端有AJAX,setTimeout等,后端Node异步更多。按照传统的做法,那么就是各种回调嵌回调。代码可以把人绕晕。 这个时候,CommonJS社区提出了一个叫做Promise/A+的规范,这个规范定...
server.js var http = require("http"); var url = require("url"); function start(route){//route.js 的route方法//服务实现function onRequest(request,response){var pathname = url.parse(request.url.).pathname;route(pathname); //response.writeHead(200,{"Content-Type":"text/plain"});response.write("只是一个练手罢了");response.end();}//创建服务http.createServer(onRequest).listen(8888);//端口号8888console.l...
所有函数的第一个参数都为:element,表示要操作的元素的引用,这是为了方面在Element.extend时,把这些方法加入到DOM对象中去,用的是methodize函数。调用的时候不需要输入第一个参数了,如: var b=$('div1').visible(); 另外,几乎所有函数都会返回自身,注意,扩展后的元素的类型为:HTMLElement,之所以这么做,有一个好处,就是方便连写代码,如: $('div1').update().insert('这是新插入的内容'); 这样写代...
文章目录1. 作用域2. 闭包 1. 作用域 作用域指的是变量存在的范围,有如下三种:全局作用域(变量在所有地方都可以读取) 函数作用域(变量只在函数内部存在) 块级作用域(ES6新增,需结合let和const关键字使用)函数本身作为一个值,也有其自身的作用域。函数的作用域就是函数声明时所在的作用域,而与函数调用时的作用域无关。这一特点就导致了“闭包”现象。 2. 闭包 函数内部形成一个函数作用域,函数内部可以读取函数本身所处...
第十四章 错误处理与调试 1.开启浏览器错误报告 1.1 Internet Explorer □Toos → Internet Option → Anvanced → Display a notification about every script error 1.2 Firefox □Tools → Error Console (Firebug) 1.3 Safari □Edit → Preferences → Advanced → Show develop menu in menubar/Develop → Show Error Console 1.4 Opera □Tools → Advanced → Error Console 1.5 Chrome □Control this page → Developer...
webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染。 WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏。 原生的WebGl比较复杂,主要通过对顶点着色器和片元着色器的操作,来实现渲染,但实现起来比较复杂,需要一定的数学基础,但更多的是需...