js回调函数中怎么去掉js中冒号的作用

JS的回调函数很简单,看代码:
[javascript]&
var&myback&=&&&
function&load(obj){&&
&&&myback&=&&&
function&save(){&&
&&&$.ajax.post......&&&
&&&myback();&&
在b.js中进行调用
// 就是把要回调的函数当成参数传递过去!
[javascript]&
load(function(){&&
&&&this.hide();&&
阅读(...) 评论()javascript(3)
$(document).ready(new function () {&span style=&white-space:pre&& &/span&
//加载之后,blur事件触发后才会执行alert
$(&#QuoId&).blur(function () { alert(&hello&)});
});第二种&pre name=&code& class=&javascript&&$(document).ready(new function () {&span style=&white-space:pre&& &/span&
//&span style=&font-family: Arial, Helvetica, sans-&&allianzvalidate函数,在页面加载之后会执行一次&/span&
$(&#QuoId&).blur(allianzvalidate());
});第三种&pre name=&code& class=&javascript&&$(document).ready(new function () {
//allianzvalidate函数作为一个变量之后效果等同于第一种
$(&#QuoId&).blur(allianzvalidate);
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:23034次
排名:千里之外
原创:43篇
(1)(1)(1)(1)(2)(2)(1)(1)(3)(3)(4)(2)(1)(1)(3)(3)(27)JS中的冒号
答:这是对象的写法
var o = {a:1,b:2};
表示建立一个具有a,b两个属性的对象,访问使用
o.a或o["a"]即可。
javascript的冒号 用途:
1、switch语句分支  
switch (s) {
  case 条件1:
     语句1;
     
  case 条件2:
     语句2;
     
2、?: 三元表达式 --又称“三目运算符”
  a&b? "L":"S" --如果a大于b则执行L,否则执行S
---'?'是在为true的情况下执行 ':'是在为false的情况下执行
3、声明对象直接量的成员
  什么是对象直接量?
    对象直接量(也称为对象初始化程序)是由一个列表构成的,这个列表的元素是用冒号分隔的属性/值对,元素之间用逗号隔开了,整个列表包含在花括号之中。
    javascript中的对象可以像C#、JAVA这些 面向对象的语言中的对象一样,拥有属性和方法。
    创建javascript对象有很多种方法,
  例如方法一,可以用Object创建,
var obj1 = new Object();
obj1.X = "100px";
obj1.Y = "200px";
obj1.myFunction = function() {
  alert("对象的方法 myFunction() !");
obj1.myFunction();
  或者方法二
  脚本语言有很多,除了javascript之外,也可以用其它脚本语言来实现javascript所能实现的功能;
    当点击按钮时就会用vbscript语法去执行你用vbscript定义的vbFunction方法;
    如果把onclick后面的vbscript:vbFunction(),改成javascript:vbFunction();就会出错。
    用对 象直接量创建一个对象:
var obj2={
  X:"100px",Y:"200px",myFunction:function(){
alert("对象的方法 myFunction() !");
obj2.myFunction();
    用对象直接量创建对象看 上去很简洁.
    方法三
    也可以先写个疑似Class的东西然后用构造函数创建:
      
function myClass(x, y) {
        this.X =
        this.Y =
     & }
      myClass.prototype.myFunction=function(){
        alert("对象的方法 myFunction() !");
      }
      var obj3 = new myClass("100px", "200px");
      obj3.myFunction();
4、声明标签
  这些声明你也可 以不写直接调用方法,
  这时onclick中的方法,无论你用vbscript还是javascript,IE浏览器会自行识别,用相应的语法去执行,当然其它浏览  器是不支持vbscript的.
  平时我们用javascript习惯上是加声明的,也就是"javascript:" 要有个冒号
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。& & & 算了一下又有好几个月没写博客了,最近在忙公司android的项目,所以也就很少抽时间来写些东西了。刚闲下来,我就翻了翻之前看的东西。做了android之后更加感觉到手机端开发的重要性,现在做native App&&和Web App是主流,也就是说现在各种基于浏览器的web app框架也会越来越火爆了,做js的也越来越有前途。我也决定从后端开发渐渐向前端开发和手机端开发靠拢,废话不说了,我们来切入正题&js的回调函数&相关的东西。
&&&&&&说起回调函数,好多人虽然知道意思,但是还是一知半解。至于怎么用,还是有点糊涂。网上的一些相关的也没有详细的说一下是怎么回事,说的比较片面。下面我只是说说个人的一点理解,大牛勿喷。我们来看一下一个粗略的一个定义&函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。&,这句话的意思是函数b以一个参数的形式传入函数a并执行,顺序是先执行a ,然后执行参数b,b就是所谓的回调函数。我们先来看下面的例子。
a(callback){
alert('a');
callback.call(this);//或者是 callback(),
callback.apply(this),看个人喜好
alert('b');
&&&&&&&这样的结果是先弹出 'a',再弹出&b&。这样估计会有人问了&写这样的代码有什么意思呢?好像没太大的作用呢!&
&&&&&&&是的,其实我也觉得这样写没啥意思,&如果调用一个函数就直接在函数里面调用它不就行了&。我这只是给大家写个小例子,做初步的理解。真正写代码的过程中很少用这样无参数的,因为在大部分场景中,我们要传递参数。来个带参数的:
c(callback){
alert('c');
callback.call(this,'d');
c(function(e){
&&&&&&这个调用看起来是不是似曾相识,这里e参数被赋值为'd',我们只是简单的赋值为字符窜,其实也可以赋值为对象。Jquery里面是不是也有个e参数,下面我们就来讲讲Jquery里面的e参数是如何被回调赋值的。
&&&&&&&Jquery框架我想大家不陌生了,出来了好久,开发的时候都在用,比较简单,api网上搜起来很方便,上手快。在Jquery框架下,我们有时候要获取事件中的一些参数,比如我要获取当前点击的坐标,点击的元素对象。这个需求在Jquery里面好办& :
&&&&&&& $("#id").bind('click',function(e){
&&&&&&&&& //e.pageX ,e.pageY ,e.target.....各种数据
&&&&&&& });
&&&&&&&&用起来倒是挺方便,其实这个e参数的赋值也是通过回调函数来实现的,这个参数是用回调参数给它赋予了一个对象值,仔细研究过JJquery源码的朋友应该发现了这一点。
还有Ajax里面&& $.get('',{},function(data){})&&&&data这个参数也是同样的原理。
&&&&&&&&我们来看看Jquery事件对象里面是怎么应用回调函数的。
&&&&&&&为了方便,我简单的写了一下$相关的一些实现,之前写过&小谈Jquery&里面有比较接近框架实现的方法,我下面只是写一个简易的选择器。
id="container"
style="width:200height:200background-Color:"&
_$=function (id)
this.element=
document.getElementById(id);
_$.prototype={
bind:function(evt,callback)
that=this;
if(document.addEventListener)
this.element.addEventListener(evt, function(e){
callback.call(this,that.standadize(e));
else if(document.attachEvent)
this.element.attachEvent('on'+evt,function(e){
callback.call(this,that.standadize(e));
this.element['on'+evt]=function(e){
callback.call(this,that.standadize(e));
standadize:function(e){
evt=e||window.
pageX,pageY,layerX,layerY;
pageY纵坐标
layerX点击处位于元素的横坐标
layerY点击处位于元素的纵坐标
if(evt.pageX)
pageX=evt.pageX;
pageY=evt.pageY;
pageX=document.body.scrollLeft+evt.clientX-document.body.clientL
pageY=document.body.scrollTop+evt.clientY-document.body.clientLT
if(evt.layerX)
layerX=evt.layerX;
layerY=evt.layerY;
layerX=evt.offsetX;
layerXY=evt.offsetY;
pageX:pageX,
pageY:pageY,
layerX:layerX,
layerY:layerY
window.$=function(id)
new _$(id);
$('container').bind('click',function(e){
alert(e.pageX);
$('container1').bind('click',function(e){
alert(e.pageX);
这段代码我们主要看standadize函数的实现,兼容性的代码,就不多说了,返回的是一个对象 &
&&&& return& {&&&&&&&&&&&&&&&&&&& pageX:pageX,&&&&&&&&&&&&&&&&&&& pageY:pageY,&&&&&&&&&&&&&&&&&&& layerX:layerX,&&&&&&&&&&&&&&&&&&& layerY:layerY&& &&&&&&&&&&&&& }
&然后再看bind函数里面的代码&&& callback.call(this,that.standadize(e)),这段代码其实就是给e参数赋值了,是用callback回调实现的。
callback&函数被调用的时候传入的是匿名函数
&&&&&&&& function(e){&& &&& &}
而callback.call(this,that.standadize(e))相当于是执行了这么一段代码&&
&&&&&&& (function(e){&&& &&& &})(standadize(e))
&&&这也是Jquery用回调函数比较经典的地方,e参数就是这么被赋值的,说了这些你们也大概有个了解了,以及怎么使用了。
&&&&回调在各种框架中应用的比较多,有时候自己写一些东西的时候也可以根据实际情况用用看。
&&&&如果觉得这篇文章不够详细,可以单独q我共同讨论下(见博客首页左上角),语言表达能力有所欠缺。感谢来访的博友,我会在后面继续增强个人技术以及语言水平,写出更好的博客,大家互相学习进步。
阅读(...) 评论()}

我要回帖

更多关于 js中冒号的作用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信