摘要:$scope本质上是一个JavaScript对象,该对象能把view(DOM元素)连接到Controller上,对应我们MVC里面的Model,在View和Controller中都可以访问该对象。我们可以使用$scope对象在View和Controller之间传递消息,$scope对象上可以存放数据...
阅读全文
摘要:九、jQuery selector and selection method本节深入学习jQuery的选择器语法,以及用来改善和增加选择元素的多个方法。1、jQuery选择器选择器语法有三层。第一层是简单的选择器,如"#test","div", "div.note";第二层是用连接符连起来的简单选取器,如:"div.noet>p";第三层是由多个第一层或者第二层选择器用逗号分隔的列表,形成一个选择器组。最通常的用法是把选择器组传递到$选择函数中。(1) 简单选择器一个简单选择器是以一个tag类型开始的(显式或
阅读全文
摘要:八、The jQuery UI LibraryjQuery本身仅仅提供核心的DOM,CSS,事件处理,Ajax功能。这些为构建高级别的抽象,比如UI部件,提供了完美的基础。jQuery UI库就是这样的抽象。这里我们就简单的介绍下jQueryUI库,更详细的资料可以在http://jqueryui.com上查看文档说明。jQueryUI库定义了很多的UI部件:有自动完成功能的输入框,日期选择器,组织信息用的折叠卡或者选项卡,滑动条和滚动条,模态对话框等。除了这些部件以外,jQueryUI库实现了更通用的交互性,它可以很容易地使文档中的任意元素能够被拖放,改变大写,排序和选择。最后jQueryU
阅读全文
摘要:七、Extending jQuery with Plug-injQuery是很容易通过插件来扩展它的的功能的,在http://plugins.jquery.com上可以找到很多这样的插件。你可以很容易地编写自己的插入,诀窍就是认识到jQuery.fn是所有jQuery对象的原型对象,在这个原型对象上增加一个方法,那个方法就成为了jQuery对象的方法。如:jQuery.fn.println=function(){var msg=Array.prototype.join.call(arguments," ");return this.each(function(){jQuer
阅读全文
摘要:六、jQuery with AjaxAjax是web应用的编程技术,它使用HTTP脚本来按需请求数据而不会导致页面刷新。Ajax在现代的Web应用中非常的重要,jQuery也包含了Ajax的一些实用工具使它的使用更加简单。jQuery定义了1个高级别的实用方法(load),4个高级别的实用函数(getScript,getJSON,get,post)。这些高级别的方法或函数都是基于一个低级别的函数jQuery.ajax(). 接下来,我们首先了解高级别的方法和函数,然后对jQuery.ajax()进行详细地说明,虽然也许我们不会显示直接地使用jQuery.ajax(),但是理解它对于全面理解这些
阅读全文
摘要:五、动画效果Animated EffectsjQuery的动画效果框架定义了一些简单的动画效果方法,如fadeIn(),fadeOut,也定义了更通用更复杂的动画方法animate。首先了解下jQuery框架动画效果框架的一些通过特性:a. 效果有一个持续时间,可以是一个毫秒为单位的数值,也可以是一个字符串,如"fast"表示200ms,"slow"表示600ms,如果使用的字符串jQuery不识别,使用默认的400ms;我们可以定义自己的字符串表示不同的持续时间,方法是:jQuery.fx.speeds["yourname"]=nu
阅读全文
摘要:五、用jQuery处理事件事件的处理的一个难点就是IE浏览器和其他的浏览器的事件API不同,为了解决这个难题,jQuery定了一个统一的事件API在所有浏览器都可以工作,这个API比标准的事件API和IE定义的API更加容易使用,也比标准的API更加的强大。1、简单的事件处理器注册方法如:$("p").click(function(){$(this).css("backgroud-color","gray");});这种方式比一个一个地给p元素使用addEventListener()或者attachEvent()注册事件要方便多了。j
阅读全文
摘要:四、修改文档结构1、插入和替换元素(1)语法1:$(target).method(content),对应有五个method,分别为:append() //在目标元素的末尾添加内容,如: $("#log").append(""+message);prepend() // 在目标元素的开始添加内容,如: $("h1").prepend("§");before() //在目标元素的前面添加内容,如:$("h1").before("");after() //在目标元素的前面
阅读全文
摘要:一、简介 当开发涉及到大量JavaScript的web应用的时候,你的第一件事就是学会把数据与界面分开。使用JavaScript创建应用,最终很容易导致应用中存在很多杂乱无章的jQuery选择器以及回调函数,这些函数都是用来维护数据在Html UI,Javascript逻辑以及服务器数据库之间的同步。对于一个富客户端的应用来说,一个更加结构化的方法会更加有益。 Backbone把数据用模型表示(models),模型可以被创建,验证,销毁以及保存到服务器。无论何时一个UI行为导致模型的一个属性被更改,模型将触发一个change事件,所以显示该模型状态的视图(view)将会收到这个change事件
阅读全文
摘要:一、概述客户端Javascript的存在,是为了使静态的Html页面变成可交互的Web应用。可以脚本化Html页面的内容是JavaScript的核心目的。二、选择文档元素1、getElementByID();每个文档的元素都可以赋一个在文档范围内唯一的id属性。在微软IE8之前的浏览器,该方法还会去匹配name属性,然后返回匹配的元素。2、getElementsByName();3、getElementsByTagName();可以在document和element上调用4、getElementByClassName();可以在document和element上调用5、querySelecto
阅读全文
摘要:一、概述正则表达式是一个对象,用来描述字符串的模式。JavaScript用RegExp类表示正则表达式,String和RegExp两个类都定义了一些方法来使用正则表达式,完成一些基于文本的模式匹配、查找与替换等强大功能。JavaScript的正则表达式语法完全是Perl5正则表达式语法的一个子集。本文先介绍正则表达式的语法,然后介绍String和RegExp类使用正则表达式的一些方法。二、定义正则表达式在JavaScript中,正则表达式是用RegExp类表示的,所以我们当然可以使用RegExp的构造函数来定义正则表达式对象;但是就像字符串一样,我们也可以使用字面量来定义正则表达式,只不过字符
阅读全文
摘要:一、简介1、jQuery可以方便地操作文档,查找文档里的元素,修改元素内容,编辑Html属性和CSS属性,定义事件以及执行动画效果。2、jQuery可以动态生成Ajax Http请求。3、jQuery提供通用的功能,如操作对象和数组。二、基础1、jQuery函数jQuery定义的唯一的全局函数是jQuery(),也是jQuery库中最重要的函数,同时为了简化,该函数的另一个名称是$(). jQuery()是一个重载函数,调用$()的四种方式:(1)、传递一个css选择器参数,可以有可选的第二个参数,第二个参数一般是一个元素或者一个jQuery对象。返回一个jQuery对象,代表了文档中匹配的元
阅读全文
摘要:一、客户端JavaScript程序使用的是一种异步事件驱动的编程模型,以下是关于事件的一些概念:event type,事件类型,也叫事件名称,比如:mousemove,click,load,keydownevent target,事件目标,是指事件发生或者事件绑定的对象。event handler,事件处理器或者事件监听器,是事件发生时执行的函数event object,事件对象,事件发生时,传递给事件处理器的参数,一般包括事件类型,事件目标等属性。event propagation,事件传播,也叫事件捕捉(event capturing)是浏览器决定在哪个对象上调用事件的处理器的过程。二、事
阅读全文
摘要:一、概述JavaScript代码为了提高代码的可重用性,也可以进行模块化。不过JavaScript的模块化并没有像java等语言一样有语言级别的支持,它的模块化更多的是一种代码书写的规范。二、以对象作为命名空间var sets={};//定义一个命名空间sets.Set=sets.AbstractEnumerableSet.extend(...);//在命名空间sets中定义一个类Setvar set=new sets.Set(23);//初始化一个Set对象,使用类的全限定名var Set=sets.Set;//导入sets.Set类var s=new Set(1,2,3);//导入类后,不
阅读全文
摘要:一、简介1、JavaScript数组的元素可以是任何类型的。2、JavaScript数组可以是稀疏的,这是数组的长度和索引值不一致。3、JavaScript数组是一个特别的对象。索引就是这个数组对象的属性,只不过恰巧数组的属性是一系列整数字符串而已。二、数组创建1、var x=12;var arr=[x,x+1,x+2];//数组的元素不一定要是常量,也可以为表达式。每次引用数组,都会对表达式求值。2、var y=[1,,2,,,];//数组不是每个元素要是指定,没指定的值为undefined,并且忽略最后一个逗号,所以这个数组有5个元素,而不是六个,分别为:1,undefind,2,unde
阅读全文
摘要:一、简述JavaScript的基础类型是Object(对象),一个对象是一个复合值,它聚合了多个值,允许你通过一个名称来存储或者检索一个值。或者说一个对象是一个无序的属性(property)的集合,每个属性包含属性名和属性值。属性名是一个字符串,属性值可以为任意对象,所以可以认为对象是字符串到值的映射。类似其他语言中的哈希表,字典之类的。但是JavaScript对象也不简简单单的是一个属性的集合,它还包括从另一个对象继承来的属性,这个被继承的对象,叫做该对象的原型(prototype)。一个对象上的方法通常是可以继承的属性。这种原型继承是JavaScript的一个非常关键的特性。JavaScr
阅读全文
摘要:JavaScript语句是JS解释器能够解释执行的代码单元,一般用分号分割。有副作用的表达式可以加上分号而构成一个语句。1、最简单的语句就是能产生副作用的表达式,如:赋值表达式(=,+=等等),自增自减表达式(++,--),加上分号,一般都可以作为语句。如:i++;i=7;是合法有效的表达式,但是没有副作用的表达式不成为一个语句,如3+5;2、delete操作符有副作用,也可作为语句,如delete obj.x;3、函数调用,也可以作为语句。如:alert("hello");window.close();这些客户端函数,可以对客户端产生副作用。没有副作用的函数调用,一般没必
阅读全文
摘要:一、JavaScript表达式1、主要表达式:不能细分成更小的表达式,是构成其他复杂表达式的组成部分。包括:常量或字面量,某些语言关键字,变量引用。常量或字面量:12.3,/pattern/,"abc"关键字:null,true,false,this变量引用:i,sum,undefined(不是关键字,是个全局变量)2、对象或者数组初始化器是一个表达式,如:{x:1,y:2};[1,2,3]3、函数定义也是一个表达式,如:var func=function(x){return x*x;}4、属性访问表达式,两种方式:expression.identifier或者expres
阅读全文
摘要:JavaScript数据类型大体分为两类:primitive和object,primitive包括:string,boolean,number,undefined,null;object包括:object,array,function。JavaScript在期待某种类型的地方,而该地方的数据类型是其他的类型的时候,JavaScript会自动地进行类型的转换,比如在if条件判断中,条件表达式需要一个boolean类型,但是条件表达式的结果为undefined,数字等等的时候,JavaScript会把这些数据转换成boolean,然后判断。如:var x=5;if(x){//x是个数字,值等于5,
阅读全文