iceprosurface

iceprosurface 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑

我们不生产bug,我们是代码的搬运工

个人动态

iceprosurface 赞了回答 · 2017-10-26

正则将[a]123[/a]替换为<a>123</a>

如果用python的话,都不需要正则:

src = 'zzzzzzz[a]123[/a],zzz[a]123[/a]'

# 1
print(src.replace('[','<').replace(']','>'))

# 2
intab = "[]"
outtab = "<>"
trantab = str.maketrans(intab, outtab)
print(src.translate(trantab))

关注 10 回答 7

iceprosurface 赞了回答 · 2017-10-26

解决vue出现data-v-f1218eb6,有的页面有,有的页面没有

因为你的样式使用了 scoped

关注 3 回答 1

iceprosurface 回答了问题 · 2017-10-25

javascript的bind()方法的兼容性写法

mdn 的 Polyfill

if (!Function.prototype.bind) {
  Function.prototype.bind = function(oThis) {
    if (typeof this !== 'function') {
      // closest thing possible to the ECMAScript 5
      // internal IsCallable function
      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
    }

    var aArgs   = Array.prototype.slice.call(arguments, 1),
        fToBind = this,
        fNOP    = function() {},
        fBound  = function() {
          return fToBind.apply(this instanceof fNOP
                 ? this
                 : oThis,
                 // 获取调用时(fBound)的传参.bind 返回的函数入参往往是这么传递的
                 aArgs.concat(Array.prototype.slice.call(arguments)));
        };

    // 维护原型关系
    if (this.prototype) {
      // Function.prototype doesn't have a prototype property
      fNOP.prototype = this.prototype; 
    }
    fBound.prototype = new fNOP();

    return fBound;
  };
}

2方法对 异常处理等等的使用更加完善

关注 2 回答 1

iceprosurface 回答了问题 · 2017-10-25

白话promise 给出答案

这种就上 流式编程 吧,比如rxjs什么的,这样的promise不说读起来费力,还容易出错。。。。。

let p = (param) => new Promise((resolve, reject) => {
  if (param === 1) {
    reject()
  }
  resolve()
});
p(1).then(null,(e)=>{
  console.log(11111)
})
let p2 = () => new Promise((resolve, reject) => {
  console.log('hhh');
  p(1)
    .then(resolve ,reject)
    .catch(reject);
  console.log('aaa');
  // resolve();
});
p2().then(() => {
  console.log('llllll')
}).catch(() => {
  console.log('ppppp')
});

阅读前先把所有的then扔掉

let p = (param) => new Promise((resolve, reject) => {
  if (param === 1) {
    reject()
  }
  resolve()
});
p(1)
let p2 = () => new Promise((resolve, reject) => {
  console.log('hhh');
  p(1)
  console.log('aaa');
  // resolve();
});
p2()

所以代码就变成了这样

顺序执行

p(1)
p2()//这里先输出了 hhh,aaa, 然后执行了 p(1) 这个加入执行栈,我们把它标记为 p(1)<2>

然后我们把then和catch标注上去

p(1).then(null,(e)=>{
console.log(11111)
})

p2<sleep>.then(() => {
console.log('llllll')
}).catch(() => {
console.log('ppppp')
});
p(1)<2>.then(resolve<p2> ,reject<p2>).catch(reject<p2>);

然后p2现在是 sleep 状态,等待resolve或者reject

然后我们按照顺序执行

p(1)是reject的所以输出11111
p2等待,不执行

p(1)reject,所以执行reject<p2>

现在执行顺序如下

p2().then(() => {
console.log('llllll')
}).catch(() => {
console.log('ppppp')
});

p(1)<2>.then(resolve<p2> ,reject<p2>)<sleep>.catch(reject<p2>);

因为上一步p2被reject,所以执行catch,输出 ppppp

随后这个阶段没有返回promise,所以 p(1)<2>.then(resolve<p2> ,reject<p2>)<sleep>.catch(reject<p2>);后面的.catch(reject<p2>);不再执行

然后按照顺序,输出

hhh
aaa
11111
pppppp

关注 3 回答 1

iceprosurface 回答了问题 · 2017-10-25

解决自动发送验证码->自动注册->自动登录, 如果这个流程自动跑下来,算单元测试么

算 e2e 或者 集成测试

关注 2 回答 3

iceprosurface 关注了问题 · 2017-10-24

H5超出文字显示“展开全部”按钮

如图: 当文字超过5行时,在末尾显示“展开全部”,要求每个分辨率机型都是在末尾显示“展开全部”。 那么我如果判断什么时候文字过少时不显示“展开全部了”

css为:

clipboard.png

clipboard.png

关注 11 回答 6

iceprosurface 回答了问题 · 2017-10-24

解决segmentfault 中写文章的时候,怎么不可以输入$

可以用转译吧

\\$1

试一下

\$1

我怀疑可能是latex的原因:

$$x_3$$

$$x_3$$

关注 4 回答 3

iceprosurface 回答了问题 · 2017-10-24

解决一个很奇妙的函数,感觉有点像是反向作用域链的写法,进来一块看下

createMathOperation 的返回值是一个闭包函数啦,operator传进去的是一个函数,到时候在执行的

执行顺序是这样的

createMathOperation(<Anonymous Function 1>, 0) -> return <Anonymous Function 2>

所以现在 add = <Anonymous Function 2> = (augend, addend) => augend + addend

因为add两个参数都是数字,所以直接就是跳过内容直接执行了 <Anonymous Function 1> ,也就是 operator

add(4,6) -> return <Anonymous Function 2>(4, 6)

所以执行结果自然就是10啦

关注 5 回答 4

iceprosurface 赞了回答 · 2017-10-24

解决网页防止刷票

后台记录下用户手机号,投过票了再次投就无效。
验证码的功能只是确定用户的手机号是真实有效的,一个验证码对应一个手机号,只要能在后台匹配上就是有效的。
或者手机号并不是真实有效的,但是因为验证码也是在后台生成的,别人能获取到后台控制权或者这个验证码存入了数据库,从数据库中直接获取,这时就算手机号无效也是能与验证码匹配。

关注 3 回答 2

iceprosurface 回答了问题 · 2017-10-24

解决isNaN()函数的返回问题

看下面的链接:

mdn中文描述

关注 5 回答 5

认证与成就

  • 获得 5 次点赞
  • 获得 7 枚徽章 获得 0 枚金徽章, 获得 1 枚银徽章, 获得 6 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-06-28
个人主页被 407 人浏览