代码如下:<!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比较复杂,主要通过对顶点着色器和片元着色器的操作,来实现渲染,但实现起来比较复杂,需要一定的数学基础,但更多的是需...
什么是立即执行函数? 定义一个函数之后,马上调用函数名,从而实现定义之后直接执行,这样的函数就叫做立即执行函数。 立即执行函数不需要去调用它,它自己会自动执行,除此之外,和普通的函数的唯一区别就是,立即执行函数执行完就自动销毁,其他方面都是一致的。 立即执行函数的写法 首先,我们要知道,只有表达式才能被执行符号执行(执行符号就是一对括号"()") 立即执行函数有两种比较常用的写法: //W3C推荐第一种写法 (fun...
javascript数据类型非常简单,仅仅包含undefined、null、string、Boolean、number以及object,今天我们就针对这几个数据类型,一一进行讲解,方便大家理解记忆。一、分类基本数据类型:undefined、null、string、Boolean、number复杂数据类型:objectobject的属性以无序的名称和值对的形式 (name : value) 来定义二、详解1、undefined:undefined类型只有一个值:undefined,在使用var对变量进行声明但未初始化时,这个变量的值就是...
false.toString(); // false [1, 2, 3].toString(); // 1,2,3function Foo(){} Foo.bar = 1; Foo.bar; // 1一个经常容易被误解的就是数字常量不能视为对象,实际上数字常量仍然可以视为对象。这是因为 Javascript 解析器在解析点操作符时而将其视为浮点数特征而犯下的错误。 2.toString(); // raises SyntaxError 实际上,我们有很多方法可以使得数字常量表现为一个对象。 2..toString(); // the second point is correctly recogn...
前面一篇介绍了微信小程序目录结构、基本配置。这里再来介绍一下函数定义、页面渲染。小程序逻辑app.js:定义App函数用来注册一个小程序,包含全局数据和函数,指定小程序的生命周期回调等。整个小程序只有一个 App 实例,全部页面共享使用。//app.js App({onLaunch: function () {// 展示本地存储能力var logs = wx.getStorageSync(logs) || []logs.unshift(Date.now())wx.setStorageSync(logs, logs)// 登录wx.login({success: r...
1.匹配模式标记: g ------ 表示全局模式,而不是发现第一个匹配成功就立刻结束 i ------- 表示不区分大小写模式 m ----- 表示多行匹配,一行结束时向下一行继续匹配 代码如下: //匹配第一个bat 或cat,不区分大小写 var pattern1 = /[bc]at/i var pattern2 = new RegExp("[bc]at","i"); //同上 使用RegEXp是字面量模式要转换成字符串 /\[bc\]at/ =======> "\\[bc\\]at" /\.at/ ==========> "\\.at" /name\/age/ ======> "name\\/...