Javascript
坚持原创
这个作者很懒,什么都没留下…
展开
-
js获取和修改css值
常用的应该就两种。element.stylegetComputedStyle获取到的是CSSStyleDeclaration这个集合大部分时候会用到的方法就是getPropertyValue()用来取属性具体的值和直接用点运算符没区别接下来说一下不同点:.style方式缺点是它显示的是内联样式的值,如果你写在style或者外部引入是没办法获取的。优点是它可以修改css值...原创 2019-12-03 16:48:21 · 935 阅读 · 1 评论 -
字节跳动bytecamp夏令营在线笔试编程题2
第二题忘了题目是什么了,反正个人感觉只是返回’True’或者’False’的话,估计直接return一个也能过很多case了吧。给出第一题和第三题的解法。脱离了他给的环境,所以js没办法用getline和print来模拟输入输出。还是不吐槽为什么不用子函数形式来出题了,习惯了。// bytedance-q1function BinaryTree(left = null, right = n...原创 2019-06-03 17:04:27 · 1007 阅读 · 1 评论 -
清空数组的方法
这是原文地址:https://www.cnblogs.com/fengzhentian/p/4518808.html直接总结:1、arr = [];这种是最快的,这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用指向它将等待垃圾回收。2、arr.length = 0;这种可以保留数组的其他属性3、arr.splice(0,arr.length);...转载 2019-05-23 15:54:12 · 1031 阅读 · 0 评论 -
字节跳动bytecamp夏令营在线笔试编程题
就不吐槽牛客网的bug了,在线笔试体验极差。当时是严重影响了心情,心理素质还是要再提高啊,无论什么时候,编程都要保持平和的心态。直接说解法吧,总共四道题,第一题很简单,二三题给出解法,第四题来不及做了,题目都没看。第二题找矩阵有几组1,1的周围八格有1的话,视为同一组。我是从左上角开始遍历的,所以八个方向,只需要递归了五个方向。即右上,右,右下,正下,左下,在用一个flag数组存一下记录,...原创 2019-05-30 11:01:40 · 3521 阅读 · 4 评论 -
toString解析
首先,toString()是Object的方法,不过后面的number,string大都改写了这个方法从Object.prototype.toString()开始每个对象都有一个toString()方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString()方法被每个Object对象继承。如果此方法在自定义对象中未被覆盖,toString...原创 2019-05-27 16:04:21 · 486 阅读 · 0 评论 -
js字符串转数字
首先,介绍两种方法1、parseInt()还有它的兄弟parseFloat()一个转整数,一个转浮点,这不用多说了parseInt(string, radix);string要被解析的值。如果参数不是一个字符串,则将其转换为字符串(使用 toString)(这也是为什么string输入的是数字如12,也能正确解析的原因)。字符串开头的空白符将会被忽略。radix一个介于2和36之间...原创 2019-05-27 15:35:32 · 66263 阅读 · 0 评论 -
js隐式转换
参考文章:https://www.cnblogs.com/ihboy/p/6700059.html首先,js的typeof返回的是字符串一共有 “number”, “string”, “boolean”, “object”, “undefined” “function”其实function也是object,为什么这么返回我也不知道在进行( + - * / % )运算时基本类型的转换形式...原创 2019-05-27 14:24:41 · 230 阅读 · 0 评论 -
数组浅拷贝的方式
首先let arr1 = [1, 2, 3];let arr2 = arr1;肯定是不行的记录一下几种简单的方法.let arr2 = [...arr1];let arr2 = arr1.concat();let arr2 = arr1.slice(0);原创 2019-05-07 21:30:26 · 982 阅读 · 0 评论 -
Array=[]与Array.length=0的区别
根据codeday某大佬的答案可以画出下图。得出结论:1、foo=[]实质上是创建了一个新数组,并将foo指向它,而bar.length=0操作的是原数组2、foo2=foo,foo2指向[1,2,3]不是通过先指向foo,而是直接指向这块内存,如果foo的指向发生变化,foo2的指向不变...转载 2019-04-29 11:31:12 · 4861 阅读 · 4 评论 -
DOM, DOCUMENT, BOM, WINDOW 有什么区别?
我试着用通俗的语言解释一下。这几个都是 JS 里面的概念。先说 DOM:DOM 全称是 Document Object Model,也就是文档对象模型。DOM 就是针对 HTML 和 XML 提供的一个API。什么意思?就是说为了能以编程的方法操作这个 HTML 的内容(比如添加某些元素、修改元素的内容、删除某些元素),我们把这个 HTML 看做一个对象树(DOM树),它本身和里面的所有东西比如 ...转载 2019-05-03 19:20:02 · 168 阅读 · 0 评论 -
类数组转换为数组的方法
1、Array.prototype.slice.call()这种方法是借用了数组原型中的slice方法,返回一个数组。slice方法的内部实现:Array.prototype.slice = function(start,end) var result = new Array(); start = start || 0; end = end || this.length; ...转载 2019-05-01 19:40:46 · 426 阅读 · 0 评论 -
json字符串与对象的转换
首先String(obj)或者obj.toString()是没用的。必须是JSON.stringify(obj)![在这里插入图片描述](https://img-blog.csdnimg.cn/20190327091919638.pngJSON.parse(str)的时候,如果括号里直接写字符串的话,用单引号,不然会和json字符串里的双引号弄混然后报错...原创 2019-03-27 09:28:25 · 172 阅读 · 0 评论 -
函数声明与函数表达式的提升问题
首先上图函数a是函数声明,执行的是函数提升,实际效果是function a() { console.log(1);}a();即会把整个函数声明提到作用域顶端而函数b是函数表达式,执行的是变量提升,实际效果是var b;b();b = function() {}由于b已经声明了,所以不会报错ReferenceError,而是TypeError。另外补充一点,函数声明和变...原创 2019-03-29 16:59:51 · 3469 阅读 · 0 评论 -
JS写for-of/in循环的注意事项
被 菜鸟教程 误导了,之前我写for-of/in循环中的迭代变量一直都是不加标识符的也就是直接就for(x in person)然后我今天在看《深入理解es6》的时候注意到了let突然想到一点,之前的for循环却是用了let的。即for(let i = 0; i++; i <=10),如果写成for(i = 0; i++; i<=10), 其实是创建了一个全局变量 i ,...原创 2019-03-04 17:26:17 · 741 阅读 · 0 评论 -
JS中对象的弱引用
用百度搜索过js的弱引用问题,发现没得到什么好的解答。于是,查了一些资料给出自己对于弱引用的理解。个人理解强引用和弱引用是按垃圾回收来划分的。垃圾回收有个规则:如果该对象如果还有引用,就不会被回收资源。而弱引用却不会屏蔽垃圾回收。个人第一次看到弱引用这个词,是在Weak Set和Weak Map中,Weak Set中的对象引用是弱引用。Weak Map中的键也是弱引用(值不是)。eg: ...原创 2019-03-04 16:37:41 · 4552 阅读 · 0 评论 -
js中let使用时遇到的问题
一开始我并未声明y,然后直接用了。第一段错误虽然提示的是y未定义,但是let x = y;其实还是执行了,这里涉及到变量提升问题。结果就是导致x实际上依旧被提升,即执行了let x;的操作,这一点在第三段的报错x has been declared得到证实。我一开始是无法理解x = 1;出错在哪的。经过反复试验,就是由于let x = y;这一步的错误。导致x这个变量无法使用了。无论是初始化还...原创 2019-03-04 14:45:57 · 2785 阅读 · 1 评论 -
JS中Map以对象作为键的问题
JS中Map以对象作为键的问题![《深入理解es6》](https://img-blog.csdnimg.cn/20190304141046943.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NreTE2Nzk=,size_16,co...原创 2019-03-04 14:12:47 · 5108 阅读 · 2 评论 -
对for循环/for-of/for-in/forEach的理解
首先给出结论。从性能上看。for循环 &gt; for-of &gt; forEach &gt; for-in引用自撒网要见鱼的博客其中,缓存数组长度的for循环是最优的。但是在chrome的v8引擎中对数组长度的缓存做了优化,只要数组长度不变,for循环不会每次去计算数组长度的,因此缓存数组长度可能在基于ie内核的浏览器里可能会有性能的提升。当然,这并不以为着为了追求性能就要使用for循环...原创 2019-03-05 10:50:54 · 2432 阅读 · 2 评论