jackchang2015

Results 13 comments of jackchang2015

> ```js > str.split("").reverse().reduce((prev, cur, index) => (index + 1) % 3 == 0 ? '.' + cur + prev : cur + prev) > ``` 有点问题 '100000000'.split("").reverse().reduce((prev, cur, index)...

楼上同学都答过了,我说一下个人理解,obj是一个类数组,本质是一个对象,但是拥有了数组的push和slice方法;而push方法其实就是在obj[length] 附上一个值,然而让length++这么一个操作;

```javascript //打印10 var b = 10; (function (){ console.log(b); })(); // var b = 10; (function b(){ b = 20; console.log(this.b); })(); //打印20 var b = 10; (function (){ b...

> > @seujzhang 执行 `a ==1` 会进行隐式转换 > > 小白求教下,是不是这样的:在执行a==1的时候,会尝试对a进行隐式转换,此时隐式转换会调用Array的join方法,而此时join方法被shift覆盖,所以调用的实际上是shift方法,弹出1,然后相等,再弹出2相等,弹出3相等,最后console执行。 对,你打印一下a就看到了,实际上是給a添加一个join属性,这个属性就是shift方法,所以a.join是一个方法,隐士转换的时候调用a 的join()方法,而此时a自己有join属性了,就不会去Array原型链上找了,而a.join === Array.prototype.shift; 所以执行a.join()就相当于执行Array.prototype.shift方法,

```javascript var a = [1,2,3]; a.join = a.shift; if(a == 1 && a == 2 && a == 3){ console.log(1); } // var a = { i: 0, toString: function(){...

```javascript function moveK(arr, k){ const p = arr.slice(arr.length - k); arr.length = arr.length - k; arr.unshift(...p); return arr; }; moveK([1, 2, 3, 4, 5, 6, 7], 3); // [5, 6,...

```javascript const rA = (arr, k) => { let ln = arr.length; let k1 = k % ln; return arr.slice(ln - k1).concat(arr.slice(0, ln - k1)); }; rA([1, 2, 3, 4,...

```javascript //来一个没提到的 function go(i){ setTimeout(()=>{ console.log(i) }, 1000*i) } for(var i = 0; i < 10; i++){ go(i); } ```

```JavaScript function strA(str){ let p = str.split(''); let s =''; for(let i =0; i< p.length; i++){ if(p[i].toUpperCase() === p[i]){ s += p[i].toLowerCase(); }else { s += p[i].toUpperCase(); } } return...

``` javascript const reverseCase = str => { let s = ''; for(let i of str){ if(i === i.toUpperCase()){ s += i.toLowerCase(); }else { s += i.toUpperCase(); } } return...