- 博客(7)
- 问答 (3)
- 收藏
- 关注
原创 题目:如何用Math.max/Math.min 对数组进行求值
Math.min()和Math.max()方法这两个方法都可以接受任意多个数值参数,如下面的例子:var max = Math.max(3, 54, 32, 16);alert(max); //54var 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
292
原创 理解:用字面量方式和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
401
原创 题目:递归函数如何避免紧密耦合
arguments的callee属性该属性是一个指针,指向拥有这个arguments对象的函数。下面举一个例子,很多时候我们写一个阶乘函数都会这样写:function factorial (num) { if (num <= 1) { return 1; } else { return num * factorial(num - 1) }}运行有问题吗?没有问题。但那时建立在函数有名字,且名字以后也不会变的情况下。但问题是这个函数的执行与factorial紧紧耦合在了一起
2021-09-25 14:11:43
137
原创 题目:由对象组成的数组,按照既定属性值进行排序
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
138
原创 关于indexOf的全等匹配
indexOf在比较第一个参数与数组中的每一项时,会使用全等操作符;也就是说,要求查找的项必须严格相等(就像使用===一样),下面是例子:var person = { name: "Nicholas" };var people = [{ name: "Nicholas" }];var morePeople = [persopn];alert(people.indexOf(person)); // -1alert(morePeople.indexOf(people)); //0alert(peo
2021-09-23 16:27:46
1120
原创 关于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
4366
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅