什么是尾调用?尾调用是函数式编程里比较重要的一个概念,尾调用的概念非常简单,一句话就能说清楚,它的意思是在函数的执行过程中,如果最后一个动作是一个函数的调用,即这个调用的返回值被当前函数直接返回,则称为尾调用,如下所示: function f(x) { return g(x) }在 f 函数中,最后一步操作是调用 g 函数,并且调用 g 函数的返回值被 f 函数直接返回,这就是尾调用。 而下面两种情况就不是尾调用: // 情况一 function f(x){...
不管是什么编程语言,相信稍微写过几行代码的同学,对递归都不会陌生。 以一个简单的阶乘计算为例: function factorial(n) { if (n <= 1) {return 1;} else {return n * factorial(n-1);} }我们可以看出,递归就是在函数内部调用对自身的调用。 那么问题来了,我们知道在Javascript中,有一类函数叫做匿名函数,没有名称,怎么调用呢?当然你可以说,可以把匿名函数赋值给一个常量: const factorial = function(n){ if (n <= 1) ...
在使用jQuery Validation Engine的时候,我们除了使用自带的API之外,还可以自己自定义正则验证。自定义正则验证上一篇已经讲过了,如果想使用自定义函数进行验证怎么办?其实这个控件有个bug,在api中说也就是在我们需要进行验证的地方加上funcCall[自定义函数名],但是我们会发现总会报错,说找不到你这个函数名。其实它的要求是要添加required进行综合验证,也就是validate[required,funcCall[yorn]],这样它才识别我们的自定义...
第一种:函数直接执行模式 function add(a,b){console.log(this);return a+b;}add(10,20)//this===window第二种:对象方法的调用模式 var obj={name:aaa,age:20,said:function(){console.log(this);}} obj.said();//this===obj,此处this指代被调用者第三种:构造器的调用模式 function School(){this.said=function(){console.log(this);}} var nanj=new School(); nanj.said();//对象调用自己的方法,this===nanj,类似上面第四种...
介绍 所谓Promise,简单来说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。 缺少场景支撑,对于新手而言,很难理解Promise的意义。 在《你不知道的JavaScript中》有个场景介绍得很形象: 我走到快餐店的柜台,点了一个芝士汉堡。我交给收银员1.47美元。通过下订单并付款,我已经发出了一个对某个值(就是那个汉堡)的请求。我已经启 动了一次交易。但是,通常我不能马上就得到这个汉堡。收银员会交...
话不多说,请看代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>手风琴-支持横纵向调用-原生js封装</title><link rel="shortcut icon" href="../public/image/favicon.ico" type="images/x-icon"/><link rel="icon" href="../public/image/favicon.png" type="images/png"/><link rel="stylesheet" type="text/css" href="../public/style/cssreset-min.css"><link rel="stylesheet" type="text/css"...
微信小程序 详解Page中data数据操作和函数调用 Page() 函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。 //index.js <pre code_snippet_id="2049407" snippet_file_name="blog_20161214_1_1145312" name="code" class="javascript">Page({ data: { text: "This is page data.",</pre><pre code_snippet_id="2049407" snippet_file_name="blog_20161214_2_861121" name="code" ...
话不多说,请看代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>倒计时-多种格式调用-原生js封装</title><link rel="shortcut icon" href="../public/image/favicon.ico" type="images/x-icon"/><link rel="icon" href="../public/image/favicon.png" type="images/png"/><link rel="stylesheet" type="text/css" href="../public/style/cssreset-min.css"><link rel="stylesheet" type="text/css" h...
在上一篇博客(详解JS与APP原生控件交互)中已经和大家聊了,关于JS与Android、Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android、Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时,提高代码质量,实现两者在网页端代码的统一。 首先我们先看一下Ios调用JS的方法实现: //无参调用 function SwiftCallJs1(){} //有参调用 function SwiftCallJs2(name, message){}紧接着我们看一下Android调用JS的...
1.第一步: 设置调用微信js安全域名,就可以在该域名下调用微信的js接口2.第二步: 将下面的js附在需要调用微信扫一扫的页面上,前提是需要引入微信的js[]3.第三步: 参考官方文档 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=876521668&lang=zh_CN 通过后台获取js权限签名jsapi_ticket【参考文档:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E9.99.84.E5.BD.951-JS-...
微信小程序 wx.request----接口调用方式 最近开发了一个微信小程序版的任务管理系统,在向Java后台发送接口时遇到了一些问题,在这里做一个简单的总结。 官方接口 官方给出的接口叫做wx.request,请求方式比较简单,下面是官网给出的请求实例。wx.request({url: test.php, //仅为示例,并非真实的接口地址data: {x: ,y: },header: {content-type: application/json},success: function(res) {console.log(res.data)} }) 存在的...
location.href这个东西常常用于跳转,location既是window对象的属性,又是document对象的属性。 JavaScript hash 属性 -- 返回URL中#符号后面的内容 JavaScript host 属性 -- 返回域名 JavaScript hostname 属性 -- 返回主域名 JavaScript href 属性 -- 返回当前文档的完整URL或设置当前文档的URL JavaScript pathname 属性 -- 返回URL中域名后的部分 JavaScript port 属性 -- 返回URL中的端口 JavaScript protocol 属性 -- 返回UR...
iframe元素就是文档中的文档。 window对象: 浏览器会在其打开一个HTML文档时创建一个对应的window对象。但是,如果一个文档定义了一个或者多个框架(即:包含一个或者多个frame或者iframe标签),浏览器就会为原始文档创建一个window对象,再为每个iframe创建额外的window对象,这些额外的window对象是原始窗口的子窗口。 contentWindow: 是指指定的iframe或者iframe所在的window对象 Demo1 父页面fu.html: <!DOCTYPE html> <html la...
本文实例讲述了jQuery中checkbox反复调用attr(checked, true/false)只有第一次生效的解决方法。分享给大家供大家参考,具体如下: 先看如下代码: /*** 全选*/function checkAll() {$("input[name=ids]").attr("checked", true);}/*** 全不选*/function uncheckAll() {$("input[name=ids]").attr("checked", false);}问题描述: 初始状态复选框没有全选,点击全选按钮调用checkAll方法,实现了全选,然后点击全不选按钮,实现了全不...
最近项目需要微信支付,然后看了下微信公众号支付,虽然不难,但是细节还是需要注意的,用了大半天时间写了个demo,并且完整的测试了一下支付流程,下面分享一下微信公众号支付的经验。 一、配置公众号微信支付 需要我们配置微信公众号支付地址和测试白名单。 比如:支付JS页面的地址为 http://www.xxx.com/shop/pay/ 那此处配置www.xxx.com/shop/pay/ 二、开发流程借用微信公众号支付api(地址 http://pay.weixin.qq...