JS方法调用括号的问题探讨
移动端的html页面,
function showAlert(msg,fn){
showDialog("alert", msg,"温馨提示",260);
if(isNull(fn) == false){
$("#SD_confirm").unbind("click");
$("#SD_confirm").bind("click",fn);
}
}
function exist(){
alert("aaa");
}
showAlert(json.msg,exist());
结果一到这行代码的时候,还没走到showDialog方法,就走exist弹出aaa了,这咋回事啊,后来才发现写错了.
showAlert(json.msg,exist);
这样就会先弹出dialog温馨提示,然后点击确定才会弹出aaa.
妹的.原来是括号出的错.汗!
相关推荐
-
浅谈js中调用函数时加不加括号的问题
其实总结起来如下: 函数只要是要调用它进行执行的,都必须加括号.此时,函数()实际上等于函数的返回值.当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码. 不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码.它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行. 所以一般时候我们都是采用的是无括号的原因.这也是由于括号的二义性,因为括号是"函数调用运算符",相当于在执行
-
基于js里调用函数时,函数名带括号和不带括号的区别
示例代码: <span style="font-size:18px;">function hi(){ var a = 1; return function(){ console.log(a++); }; }; var aaa = hi(); var bbb = hi; </span> 如以上代码: aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 a,aaa() 第一次运行结果为
-
关于JS中的方法是否加括号的问题
在我们js编写程序的时候,我们会写很多函数然后调用它们,那么这些函数调用的时候什么时候加()什么时候不加()?记住以下几个要点. (1)函数做参数时都不要括号. function fun(e) { alert(e); } function A(fun, e) { fun(e); } A(fun, 3);//弹出'3',函数fun当做实参传入另一个函数时,不加() (2)函数被调用的时候都要加括号. 看上面那段代码,第9行函数A被调用的时候是A(); (3)函数作为赋值符号右边的时候,当无()时传
-
JS中的eval 为什么加括号
eval简介 ---eval在ECMA定义中是全局对象原型的方法; ---eval接受的参数是字符串格式的js代码, 将由执行引擎(记得'高级程序设计'还是哪说过, 此时新建一个执行引擎)执行这段字符串, 然后返回结果到eval调用的位置. <!DOCTYPE html> <html> <head> <title>eval学习</title> <script type="text/javascript"> /* e
-
为什么JS中eval处理JSON数据要加括号
由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象.利用eval函数无疑是一种简单而直接的方法.在转化的时候需要将JSON字符串的外面包装一层圆括号: 复制代码 代码如下: var jsonObject = eval("(" + jsonFormat + ")"); 为什么要加括号? 加上圆括号的目的是迫使eval函数在处理JavaSc
-
javascript中的括号()用法小结
1.提高优先级 (1+2)*3 与数学运算中保持一致,先计算1+2再乘以3得出9 同时也可以是其他表达式,如: 复制代码 代码如下: (a+(function(i){return i}(2)))*c 2.函数的参数要放在括号里() 复制代码 代码如下: function fun(a,b,c){ //-} 3.立即执行函数表达式 复制代码 代码如下: (function fun(a,b,c){ //-})(1,2,3) 这里的括号(1,2,3)中的参数对应的是前面函数的参数,当第一个括
-
JS方法调用括号的问题探讨
移动端的html页面, 写了一个函数. 复制代码 代码如下: function showAlert(msg,fn){ showDialog("alert", msg,"温馨提示",260); if(isNull(fn) == false){ $("#SD_confirm").unbind("click"); $("#SD_confirm").bind("click",fn); } } f
-
JS随机调用指定函数的方法
本文实例讲述了JS随机调用指定函数的方法.分享给大家供大家参考.具体如下: 本代码通过随机定时器调用指定函数,可达到间隔随机时间之行指定的函数的目的 function randRange(data) { var newTime = data[Math.floor(data.length * Math.random())]; return newTime; } function toggleSomething() { var timeArray = new Array(200, 300, 150,
-
java编程中实现调用js方法分析
本文实例讲述了java编程中实现调用js方法.分享给大家供大家参考,具体如下: /* * 加载脚本引擎,并在java中调用js方法 */ public void test2() { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("javascript"); try { String str="2&1"
-
JS通过调用微信API实现微信支付功能的方法示例
本文实例讲述了JS通过调用微信API实现微信支付功能的方法.分享给大家供大家参考,具体如下: 最近在做微信公众号开发,在微信支付上遇到一些问题,困惑了3天,今天终于搞定.期间要感谢一些大神的帮助,趁热下面分享一下我的经验. 在实现微信支付之前,需要到微信开发平台认证,这些认证和配置信息我就不多说了,这里主要从代码层面实现支付. function onBridgeReady(){ WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId&quo
-
smarty中js的调用方法示例
本文实例讲述了smarty中js的调用方法,分享给大家供大家参考.具体方法分析如下: 一.问题: 有时候,在smarty中,包含js的时候,整个页面就不会显示,而程序员往往在页面中找错误,程序页面,模板页面检查了多次都没有错误,就很郁闷了. 二.解决办法: 把模板页面中的js代码拷贝出来放在新建的js文件中,然后在包含到模板页面里面,如: 复制代码 代码如下: {popup_init src="css/commen.js"} 这样一来,问题就解决了. 希望本文所述对大家的PHP程序设计
-
ThinkPHP里用U方法调用js文件实例
本文实例讲述了ThinkPHP里用U方法调用js文件的方法.分享给大家供大家参考.具体如下: 在TP里提供了在模板文件中直接调用函数的快捷方法.U是其中之一.手册里有它的用法: 复制代码 代码如下: {:U('User/insert' )} 先把js文件的后缀改成html(这个不会影响),然后写个JsAction,在里面进行调用: <?php class JsAction extends Action{ function nav() { $this->display('Index:js:nav
-
Android WebView的使用方法及与JS 相互调用
Android WebView的使用方法及与JS 相互调用 1.添加网络权限 <uses-permission android:name="android.permission.INTERNET" /> 2.WebSettings 对访问页面进行设置. WebView mWebView = new WebView(this); WebSettings webSettings = mWebView .getSettings();//支持获取手势焦点,输入用户名.密码或其他 m
-
解决JS无法调用Controller问题的方法
闲话少说.先看一下事故现场. 事故现场 现在我要做的就是通过JS去调用后台controller的方法,可以看到客户端用的是Jquery和Ajax,现在出现的问题是js可以跑到,但是后台代码却跑不到controller的方法. 我的解决方案 ajax的代码写错了,可以看到代码中我并没有设置请求方式,也就是同步请求还是异步请求,ajax默认的是异步请求,也就是说这里我要使用的是ajax来实现同步请求. 所以说要在ajax中多一个请求方式. 用jquery写aja
随机推荐
- 浅谈redis采用不同内存分配器tcmalloc和jemalloc
- javascript实现的仿51job地址多项选择方式效果
- Java线程让步_动力节点Java学院整理
- 比例尺、缩略图、平移缩放之百度地图添加控件方法
- 键盘KeyCode值列表汇总
- 关于javascript中dataset的问题小结
- 在ASP.NET中实现弹出日历的具体方法
- jQuery+php实现ajax文件即时上传的详解
- 请离开include_once和require_once
- php简单实现批量上传图片的方法
- php使用mysqli向数据库添加数据的方法
- Android单选按钮对话框用法实例分析
- shell脚本实现分日志级别输出的方法
- 用CSS控制表格或单元格强制换行,防止表格被英文单词或中文撑大
- 复习一下sql server的差异备份
- android ListView自动滚动方法
- Java之JFrame输出Helloworld实例
- Android实现倒计时方法汇总
- Python实现中一次读取多个值的方法
- 详解如何实现一个简单的 vuex