函数声明 function foo() {}函数 foo 将会在整个程序执行前被 hoist (提升),因此它在定义 foo 函数的整个 scope (作用域)中都是可用的。即使在函数定义之前调用它也没问题。 foo(); // Works because foo was created before this code runs function foo() {}因为我打算专门写篇介绍作用域的文章,所以这里就不详述了。 函数表达式 对于函数声明,函数的名称是必须的,而对于函数表达式而言则是可选的,因此,就出现了匿名函数表...
全局作用域下 this; 当在全局作用域中使用 this,它指向全局对象。 这里详细介绍下全局对象: 全局对象(Global object) 是在进入任何执行上下文之前就已经创建了的对象; 这个对象只存在一份,它的属性在程序中任何地方都可以访问,全局对象的生命周期终止于程序退出那一刻。 全局对象初始创建阶段将 Math、String、Date、parseInt 作为自身属性,等属性初始化,同样也可以有额外创建的其它对象作为属性(其可以指向到全局对象自身)...
Javascript 是唯一一个被广泛运用的原型式继承的语言,所以理解两种继承方式的差异是需要时间的。 第一个主要差异就是 Javascript 使用原型链来继承: function Foo() {this.value = 42; } Foo.prototype = {method: function() {} }; function Bar() {}设置 Bar 的 prototype 为 Foo 的对象实例: Bar.prototype = new Foo(); Bar.prototype.foo = Hello World;确保 Bar 的构造函数为本身,并新建一个 Bar 对象实例: Bar.prototy...
deep是布尔值,表示是否进行深度合并,默认是false,不执行深度合并.通过这种方式可以在jQuery或jQuery.fn上添加新的属性和方法,jQuery的其他模块大都是这么实现的. 给jQuery添加扩展时用$.extend()如:jQuery.extend({add:function(a,b){return a+b}}) 使用:$.add(1,3)=====>4; 给jQuery实例对象添加扩展时用$.fn.extend(); $.fn.extend({gys:function(){$(this).css("color","red")}}); 调用:$("div.guo").gys();因为参数的个数是不确...
代码如下:jQuery.fn = jQuery.prototype = { constructor: jQuery, init: function( selector, context, rootjQuery ) { }, selector: "", jquery: "1.7.2", length: 0, size: function() {}, toArray: function() {}, get: function( num ) {}, pushStack: function( elems, name, selector ) {}, each: function( callback, args ) {}, read...
从源码中可以看到,这些常见的方法,都是直接从原生的javascript中"借鉴"过来的.为什么这么说呢?225行中,在运行时,this是指向jQuery对象的,通过call语句借鉴slice方法,切割出一个数组出来,这种"借鸡下蛋"的方法,真的是让人拍手叫绝.slice(start,end)是用来切分数组的.start表示切分数组的开始位置.省略end表示到从start一直到最后
从return new jQuery.fn.init( selector, context, rootjQuery )中可以看出参数selector和context是来自我们在调用jQuery方法时传过来的.那么selector和context都有哪些可能. 对于表格中的4~9行中的可能做具体分析. 如果selector是字符串,则首先检测是html代码还是#id.126行的if语句:以"<"开头,以">"结尾,且长度>=3.则假设额这个是HTML片段,这里只是假设不一定就是合肥的html代码.比如"<div><guofsfsdfd>";130行的else:表示不是ht...
先来看代码: 代码如下:(function (window, undefined) { //构建jQuery对象 var document = window.document, navigator = window.navigator, location = window.location; var jQuery = (function () { var jQuery = function (selector, context) { return new jQuery.fn.init(selector, context, rootjQuery); ...
一:$(selectorStr[,限制范围]),接受一个选择器(符合jQuery规范的字符串),返回一个jQuery对象;代码如下: //$(selector[,限制范围]) $(".guo").click(function () {//这里没有context参数 $("a.aguo", this).css({"color":"red"});//this就是context参数,用于限定范围 }); 二:$(htmlStr[,文档对象]),$(html[,json对象])传入html字符串,创建一个新的dom元素 当传入的是字符串的时候,构造函数会判断是选择...
可能有人说这是什么个格式?其实还不止呢。1 //11.2 //1.21.2e3 //12001.2e+3 //12001.2e-3 //0.0012.12e+2 //12-.12e-2 //-0.0012 当然这些只是十进制。我们来说说 八进制 和 十六进制。0x00, 0x11, 0xff 这种格式是十六进制,他们的十进制值分别是 0, 17, 255。 01, 07, 010, 012 这个是 八进制。(这里的 0 是数字 0,不是字母o)可能有朋友质疑了,这不是十进制么,怎么说是八进制呢?其实这就是 八进制,...
1、原生JavaScript实现字符串长度截取代码如下:function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null) { icount = icount + 1 } else { icount = icount + 2 ...
1.简介 Seajs,一个Web模块加载框架,追求简单、自然的代码书写和组织方式,:Sea.js 遵循 CMD 规范,模块化JS代码。依赖的自动加载、配置的简洁清晰,可以让程序员更多地专注编码。 2.优缺点 优点:1).提高可维护性。2).模块化编程。3).动态加载,前端性能优化 缺点:1).学习文档偏少且混乱,会更改团队使用JS的编写习惯,必须使用模块化编程。2).不太适合团队目前的情况,多JS文件但少改动,动态加载优势和模块化优势不明显。3)....
1、<script>标签应越少越好(虽然有多个也不会导致程序报错),因为每个<script>标签初始下载时都会阻塞页面渲染 2、<script>标签尽量不要放在页面上方,尽量放在<body>内的最下面,因为每个<script>在执行的时候,都会下载对应的js文件,浏览器会等待所有js/css下载完成才显示出页面 3、当需要导入多个js文件的时候,一般情况下我们都是写两个<script src="..." />,实际上是支持一次性导入多个的,例如:<script src="file1.js&f...
基本动画代码:代码如下:<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Hello World jQuery!</title><script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript">$(document).ready(function(){ //基本的动画函数主要分为show, hide和toggle三个. 都提供了无参数的版本//并且都提供了两个参数的重载,如show( speed, [callback] ), //callback,签名如下:function callback()...
好久以来就想实现一个模态的框框,找了很多的jquery插件,都没有碰到自己满意的,这次碰到了一个,但是由于还处于开发阶段吧,连个文档API都没有,自己摸索了好长一段时间才搞定。 先来看看代码,本人看着源代码定制了自己想要的效果: 代码如下:<%@ page language="java"contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/...