JavaScript
一起的远方
我们必不可停止探索,而一切探索的尽头,就是重回起点,并对起点有首次般的了解。
展开
-
由Object.is({}, {})返回false,来看看JavaScript的深拷贝与浅拷贝
var a = function() {console.log(11)};var b = function() {console.log(11)};console.log( a==b ); //falseconsole.log( {}=={} ); //falseconsole.log( []==[] ); //false如你所见,上述三个例子结果都为false。相信很多人都碰到过...转载 2018-11-13 10:32:18 · 810 阅读 · 0 评论 -
图解JavaScript原型模式创建对象
JavaScript面向对象这一块的底层原理是很难掌握的,基本是看了忘,忘了再看的循环过程。最近深入理解new运算符底层原理的时候,又看了一遍关于面向对象这一块的知识点,从而有了新的认识。本篇只讨论基于原型模式创建对象,对涉及到的知识点只做简单补充,后续进行细化和整体的对比。 function Person() { } Person.prototype.name = "...原创 2019-01-04 13:51:59 · 424 阅读 · 0 评论 -
JavaScript判断一个字符串是否是回文字符串(五种方法:单链表、栈、charAt()、for循环、借助数组法)
回文字符串是指一个字符串从前往后与从后往前读获得同样的结果,比如abcdcba。下面我们来总结一下各种方法判断一个字符串是否为回文字符串。for循环法function isPalindRome(input){ if(typeof input !== 'string') return false; let len = input.length; let str = ''; ...原创 2019-03-06 12:53:24 · 2399 阅读 · 0 评论 -
JavaScript数组与其他语言的区别
最近在看算法知识,讲到了数组越界导致的无限循环,所以就好奇试了试,在JavaScript中会不会出现此类问题。代码如下:int main(int argc, char* argv[]){ int i = 0; int arr[3] = {0}; for(; i<=3; i++){ arr[i] = 0; printf("hello world\n"); } return...原创 2019-03-04 13:14:28 · 1116 阅读 · 0 评论 -
JavaScript-实例属性与原型属性区别
实例属性指的是在构造函数方法中定义的属性和方法,每一个实例对象都独立开辟一块内存空间用于保存属性和方法。function Products() { this.name = 'car', this.ids = [1,2]}var product1 = new Products();var product2 = new Products();product1.ids[0]...原创 2019-04-17 19:57:32 · 1706 阅读 · 0 评论