天涯海角异孤星
平时web开发时,在手机上,如果是要看控制台信息,都需要alert弹窗,这样很不友好.还会阻拦进程。
通过vConsole.js 重写console方法,实现了类似于微信小程序的移动端调试效果。
具体使用方法也很简单
<script src="http://wechatfe.github.io/vconsole/lib/vconsole.min.js?v=3.2.0"></script>
<script>
// init vConsole
var vConsole = new VConsole();
console.log('Hello world');
</script>
vConsole 项目地址:https://www.npmjs.com/package/vconsole
PHP 5.6.x 以后的版本增加了“...”运算符,功能如下。
现在可以不依赖 func_get_args(), 使用 ... 运算符 来实现 变长参数函数。
<?php
function f($req, $opt = null, ...$params) {
// $params 是一个包含了剩余参数的数组
printf('$req: %d; $opt: %d; number of params: %d'."\n",
$req, $opt, count($params));
}
f(1);
f(1, 2);
f(1, 2, 3);
f(1, 2, 3, 4);
f(1, 2, 3, 4, 5);
?>
以上例程会输出:
$req: 1; $opt: 0; number of params: 0
$req: 1; $opt: 2; number of params: 0
$req: 1; $opt: 2; number of params: 1
$req: 1; $opt: 2; number of params: 2
$req: 1; $opt: 2; number of params: 3
在调用函数的时候,使用 ... 运算符, 将 数组 和 可遍历 对象展开为函数参数。 在其他编程语言,比如 Ruby中,这被称为连接运算符。
<?php
function add($a, $b, $c) {
return $a + $b + $c;
}
$operators = [2, 3];
echo add(1, ...$operators);
?>
以上例程会输出:
6
PHP 7.4.0 使用 ... 可以打包内部数组,跟 es6 的语法很像:
<?php
$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
?>
我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处。本文所有涉及到的大部分代码均在这个demo里面:https://github.com/sxei/chrome-plugin-demo ,大家可以直接下载下来运行。
另外,本文图片较多,且图片服务器带宽有限,右下角的目录滚动监听必须等到图片全部加载完毕之后才会触发,所以请耐心等待加载完毕。
逗号操作符 对它的每个操作数求值(从左到右),并返回最后一个操作数的值。
示例代码:
var x = 1;
x = (x++, x);
console.log(x);
// 输出: 2
x = (2, 3);
console.log(x);
// 输出: 3
另一种用法:
var obj = {
fun: function () {
console.log(this === window, this === obj);
}
};
obj.fun();
// 输出: false true
(0, obj.fun)();
// 输出: true false
var test = obj.fun;
test();
// 输出: true false
上面的代码中,(0, obj.fun)();
等同于var test = obj.fun; test();
,前者可以少引入一个临时变量。
参考资料:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Comma_Operator