2016-10-31 wilsonIs
六、函数的扩展 函数参数的默认值 ES6中,允许直接为函数的参数设置默认值,如: function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello 继续阅读 »
2018-01-22 geekspeng
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。 more 创建模块 要创建模块,可创建一个.py文件,在其中包含用于完成任务的函数。 案例(保存为 mymodule.py): 继续阅读 »
2015-07-13 Eric Wang
Version:Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32 函数 可接受任意数量参数的函数 为了能让一个函数接受任意数量的位置参数,可以使用一个*参数 ```python def avg(first, *rest): return (first + sum(rest)) / (1 + len(rest)) Sample use avg(1, 2) # 1.5 avg(1, 2, 3, 4) # 2.5 `` 在这个例子中,rest`是由所有其他位置参数组成的元组。然后我们 继续阅读 »
2017-02-12 Lim Geng
最近在网上看到有部分人在面试(比如1月面试记)的时候被问到了LazyMan,而且网友也有不同的实现方式。这里我用两种方式实现了lazyman,以供参考,如有更好的方法,欢迎留言。 队列 这种方式,每次都是往queue里添加执行函数,next函数用来决定什么时候调用下一个函数。 ``js var LazyMan = function LazyMan (name) { if (!(this instanceof LazyMan)) return new LazyMan(name); this.queue = [() => { console.log(hello ${name}`); 继续阅读 »
2016-06-02 YongHao Hu
C++
在C语言里, 如何通过输入函数名字来调用函数? 直接上代码. 大致有三种方法: 用函数字典, 缺点是代码耦合在一起, 无法复用. ``` include include include include 继续阅读 »
2016-12-30 Oliver Wang
其实这篇文章主要是介绍这个东西 Proposal Bind Operator 或者 bind_operator。 也是在一个很偶然的机会看到了,git 上面的一个项目用到了这个用法,为什么自己发现不了这些东西呢? 传统的 this 绑定 在函数外面暂存一个变量 js // 别名 var self = this; setTimeout(function() { this.doSomething(); }, 1000); 使用 bind 函数 & 箭头函数 在使用 class *** extends React.Component {} 的写法声明 React 组件的时候,组件的方法都不会被自动绑定 this 了,下面 继续阅读 »
2014-05-31 W.Y.
本文译自 Dmitry A. Soshnikov 的文章 ECMA-262-3 in detail. Chapter 2. Variable object. 参考了一些译文,作为自己学习 ECMAScript 的一点积累。 概要 创建应用程序的时,总免不了要声明变量和函数。然而,解析器(interpreter)是如何以及从哪里找到这些数据(变量,函数)的,当我们引用一个变量时,在解析器内部又发生了什么? 许多 ECMAScript 程序员都知道变量与执行上下文密切相关: ```js var a = 10; // 全局上下文中的变量 (function () { var b = 20; // 函数上下文中的局部变量 } 继续阅读 »
2016-05-09 YongHao Hu
C++
当我们编译多个文件时, 就会有多个目标文件. 这些模块最后如何形成一个单一的程序呢? 模块间通信 链接器的由来 C/C++模块之间通信的方式有两种, 一种是模块间函数调用, 另一种是模块之间的变量访问. 在编译成目标文件的时候, 由于没有办法得知所引用的外部函数或者外部变量的地址, 所以会先置0. 所以问题本质上就是, 如何得知目标函数或者目标变量的地址呢? 继续阅读 »
2015-10-01 Piasy
随着APP的不断开发,启动时(Application类的onCreate函数中)需要做的事情越来越多,这将导致APP冷启动(杀死进程后的第一次启动)变慢,有分析表明,APP冷启动时间大于2s时,大部分用户将失去耐心。 提升APP启动速度 其实并不是所有的事情都需要在Application类的onCreate函数中执行,例如一些第三方库的初始化,可以专门增加一个SplashActivity来初始化这些第三方库,但是同样的道理,如果这些初始化工作放到SplashActivity的onCreate函数中执行,APP的冷启动依然很慢,进一步的尝试是把这些初始化工作异步化。 继续阅读 »
2015-09-16 Piasy
建议:函数调用的时候,调用方传给被调用方的参数,如果在调用之后还会被修改,那么调用方应该给被调用方传一个当时的拷贝,深拷贝,否则将会导致潜在的bug: 可能被调用方是异步执行的,如果调用函数之后,参数发生了修改,那么被调用方执行的时候,看到的就是被修改之后的数据,这将导致严重、隐蔽、非必现的BUG,而这种BUG是最让人头疼的 可能被调用方会修改传入的参数,这就导致函数执行完毕之后,调用方看到的数据发生了非预期的变化,这同样会导致严重、隐蔽的BUG 继续阅读 »