js另类写法

实现功能估计貌似于这样:

var a = function(s){alert(s)};
var b = function(s){confirm(s)};
var aa = [a,b];
aa[1](1);
aa[0](2);

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

代码运行到 test() 后,要调用已经写好的方法 E() 并传递 2 个参数
一个就是所谓对象的 ju 、 另一个就是一个才写的函数

然后把这两个参数传递到了 E() 方法,当然,E()方法已经在等参数了

当他等到了许久不见的参数的时候会怎么做呢...(待续)

续简介:
上回说到 E() 方法见到了许久不见的参数 ju 和 一个函数

当然 E() 做为这两个参数的传递执行方法,就叫了两个小弟(变量 a, b)
来把他们的一切都引用了,此时
a = ju
b = function(b)
{
    b(a);
    if(a == "gyyy.")
    {
       b("G");
    }
}

然后又 var c = C(a); 让 小弟(变量c) 得到了 a ,也就是 a 引用的 ju 长度
然后照着这个长度执行 小弟b 引用的那个传递到 E() 方法的函数

并传递 2 个参数给那个函数
一个就是 a[d],另一个就是d

然后呢,开始执行小弟 b ,现在这个小弟 b 就是一开始传递到 E() 方法的函数
而那个传递到 E() 方法中的函数接受一个参数 如右所示: function(b) { ... }

而现在执行的函数中的 b 是从E()方法传递过来的 a[d]

也就是说呢:您出错的地方就是在 传递的a[d]上吧, 执行 b(a)的时候,a是由 test()一开始传递的
而执行的 b(a) 这个b() 就是从下面个 E 传递上来的 a[d]
也就是说 a[d] 其实是一个方法

我猜想 ju 应该是一个包含许多方法的数组
原理就像这个一样吧,很麻烦的东西,只是为了得到 a 的访问权限

function test(a)
{
E(function(b)
{
b(a);
}
)
}
function E(bb)
{
bb(function(str)
{
alert(str);
}
);
}
test("小子,不要乱搞");

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • JavaScript 装逼指南(js另类写法)

    下面就是具体的写法,建议大家逐个测试一下,加深印象 1.转Boolean类型 这个较为常用. !!'a'//true 通过两个取反,可以强制转换为Boolean类型. !!是将表达式强制转化为bool值的运算,运算结果为true或false,表达式是什么值,结果就是对应的bool值,不再取非. 不是取非再取非的意思!!! !!false=false;    要注意false和"false" 的区别!!!!! !!"false"=true; !!true=true;

  • js另类写法

    实现功能估计貌似于这样: var a = function(s){alert(s)}; var b = function(s){confirm(s)}; var aa = [a,b]; aa[1](1); aa[0](2); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 代码运行到 test() 后,要调用已经写好的方法 E() 并传递 2 个参数 一个就是所谓对象的 ju . 另一个就是一个才写的函数 然后把这两个参数传递到了 E() 方法,当然,E()方法已经在等参数了 当他等

  • 详解JavaScript的另类写法

    JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript 是因特网上最流行的脚本语言. JavaScript 很容易使用!你一定会喜欢它的! JavaScript一种解释型的脚本语言,语法灵活,让不同的人对同一个功能有很多种不同的写法.怎样组织JavaScript代码才能让别人一眼看出你不简单呢?是否很期待别人在看完你的代码之后感叹一句"原来还可以这样写"呢? 匿名

  • js命名空间写法示例

    本文实例分析了js命名空间写法.分享给大家供大家参考,具体如下: 很早知道这种写法,由于基础面向对象不够扎实一直在回避,但是面对整站这种方法还是有必要会 html部分: <div id="div1">111</div> <div id="div2">现实</div> <div id="div3">层</div> <div class="tab">

  • Javascript中定义方法的另类写法(批量定义js对象的方法)

    复制代码 代码如下: isArray : function(v){ return toString.apply(v) === '[object Array]'; }, isDate : function(v){ return toString.apply(v) === '[object Date]'; }, isObject : function(v){ return !!v && Object.prototype.toString.call(v) === '[object Object]

  • JS 中可以提升幸福度的小技巧(可以识别更多另类写法)

    1. 类型强制转换 1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为NaN,或者使用 a !== a 来判断是否为NaN,因为 NaN !== NaN '32' * 1 // 32 'ds' * 1 // NaN null * 1 // 0 undefined * 1 // NaN 1 * { valueOf: ()=>'3' } // 3 常用: 也可以使用+来转化字符串为数字 + '123' // 1

  • 使用JavaScript switch case 另类写法

    习惯了C#的语法,遇到多分支调用的情况,除了最简单的if-else,那么就是switch-case了,所以使用JavaScript的时候就很容易会写出下面这样的代码: 复制代码 代码如下: // JScript source code //something的值是1.2.3... switch (something) { case 1: todoA(); break; case 2: todoB(); break; case 3: todoC(); break; //... } 这样的代码本身也

  • 常用原生JS兼容性写法汇总

    就来总结一下简单的东西 备注:一下的方法都是包裹在一个EventUtil对象里面的,直接采用对象字面量定义方法了... ①添加事件方法 addHandler:function(element,type,handler){ if(element.addEventListener){//检测是否为DOM2级方法 element.addEventListener(type, handler, false); }else if (element.attachEvent){//检测是否为IE级方法 ele

  • 今天是星期几的4种JS代码写法

    第一种写法 复制代码 代码如下: var str = "";  var week = new Date().getDay();  if (week == 0) {          str = "今天是星期日";  } else if (week == 1) {          str = "今天是星期一";  } else if (week == 2) {          str = "今天是星期二";  } else

  • Firefox和IE浏览器兼容JS脚本写法小结

    1.window.event兼容脚本 function getEvent(){ //获取浏览器事件,同时兼容ie和ff的写法  if(document.all) return window.event;  func=getEvent.caller;  while(func!=null){  var arg0=func.arguments[0];  if(arg0){  if((arg0.constructor==Event   arg0.constructor ==MouseEvent)   (

随机推荐