- 博客(7)
- 问答 (3)
- 收藏
- 关注
原创 题目:如何用Math.max/Math.min 对数组进行求值
Math.min()和Math.max()方法 这两个方法都可以接受任意多个数值参数,如下面的例子: var max = Math.max(3, 54, 32, 16); alert(max); //54 var min = Math.min(3, 54, 32, 16); alert(min); //3 这两个方法经常用于避免多余的循环和在if语句中确定一组数的最大值。 但不适用于在数组中使用。 var max = Math.max([3, 54, 32, 16]); alert(max); /
2021-09-26 16:13:05
226
原创 理解:用字面量方式和new方式创建基本类型值的区别
用字面量和用new创建基本类型值到底有什么区别? 每次创建数组或对象的时候,都能用以下两种方法创建 var s1 = "some text"; var s2 = new String("some text"); 字面量 字面量语法简单,直接,优雅 且省去了大量new中的构造方法 第一点很好理解,第二点是什么意思呢?结合资料个人理解如下: 我们知道,基本类型值不是对象,因为从逻辑上讲它们不应该有方法,但是事实: var s1 = "some text"; var s2 = s1.substring(2)
2021-09-25 15:30:12
337
原创 题目:递归函数如何避免紧密耦合
arguments的callee属性 该属性是一个指针,指向拥有这个arguments对象的函数。 下面举一个例子,很多时候我们写一个阶乘函数都会这样写: function factorial (num) { if (num <= 1) { return 1; } else { return num * factorial(num - 1) } } 运行有问题吗?没有问题。 但那时建立在函数有名字,且名字以后也不会变的情况下。 但问题是这个函数的执行与factorial紧紧耦合在了一起
2021-09-25 14:11:43
92
原创 题目:由对象组成的数组,按照既定属性值进行排序
sort()方法 function createComparisonFunction(propertyName) { return function(object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value1 < value2) { return -1; } else if (value1 > value2 ) { ret
2021-09-25 13:55:15
90
原创 关于indexOf的全等匹配
indexOf在比较第一个参数与数组中的每一项时,会使用全等操作符;也就是说,要求查找的项必须严格相等(就像使用===一样),下面是例子: var person = { name: "Nicholas" }; var people = [{ name: "Nicholas" }]; var morePeople = [persopn]; alert(people.indexOf(person)); // -1 alert(morePeople.indexOf(people)); //0 alert(peo
2021-09-23 16:27:46
959
原创 关于sort()的默认排序
关于Array.sort的默认排序 默认情况下,sort()方法按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。 下面是个例子: var arr = [1, 10, 5, 15, 3]; arr.sort(); //预期[1, 3, 5, 10, 15] console.log(arr); //结果[1, 10, 15, 3, 5] 为什么会出现这种情况,得去了解sort()的排序原理: sort()会将数组中的每个值取出后调用toString()转型方法转换成字符串,然后比较得到的字符串,
2021-09-23 15:18:11
3940
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人