资讯专栏INFORMATION COLUMN

js基础进阶--编码实用技巧(二)

hiYoHoo / 2152人阅读

摘要:我的个人博客接上篇文章基础进阶编码实用技巧一合理利用运算符使用可以作为参数之外的默认值,当第一个参数返回值为时,那么第二个值就为默认值。

我的个人博客:http://www.xiaolongwu.cn

接上篇文章:
js基础进阶--编码实用技巧(一).md)

5、合理利用||运算符

使用||可以作为参数之外的默认值,当第一个参数返回值为false时,那么第二个值就为默认值。

一般在面向对象思想中这么使用。

function User(name, age) {
    this.name = name || "leonWu";
    this.age = age || 29;
}
var user1 = new User();
console.log(user1.name); // leonWu
console.log(user1.age); // 29
 
var user2 = new User("delia", 28);
console.log(user2.name + " is my wife"); // delia is my wife
console.log(user2.age); // 28
6、三木运算符

看看下面的例子,我相信你就会立马理解了

var x = 10,b = null;
if (x > 5) {
    b = 7;
} else {
    b = 2;
}

这段代码用三木运算简写为

b = x > 5 ? 7 : 2;
//解释一下上面的代码
// 当x > 5 时返回7并赋值给b,反之则返回2赋值给b
7、判断相等时用 === 而不是 ==

因为== 和 != 在做判断时,会在某些情况下进行隐式类型转换,但是 === 和 !== 却不会,并且它们会同时对值大小和值类型进行比较,所以=== 和!== 要比== 和!=的处理速度快。

看例子

[5] == 5; //true
[5] === 5; //false
"5" == 5; //true
"5" === 5;//false
""  == 0; // true
"" === 0; //false
[] == "" //true
[] === "" //false
8、随即从数组中取一个元素
var items = [123, 81 , "abc" , 234 , 781 , "leonwu", 114, , "delia" , 110 , 120];
var randomItem = items[Math.floor(Math.random() * items.length)];

稍微解释一下上面的代码

Math.floor()这个方法为js内置的方法,向下取整,即Math.floor(2.9)结果为2,Math.floor(2.1)结果也为2。

Math.random()为在[0-1)之间取一个随即浮点数,包括0但不包括1;

所以上面randomItem的结果是[0-9]之间的一个随即整数。

9、在指定的范围中取出一个随机整数

这个方法应该是上面第8条的加强版,只要理解上面的方法,那么这个方法理解起来就不会有难度。在这里多一嘴,很多东西靠死记硬背是记不住的,但是只要你理解了,那么你想忘记就比较难了。好了,不扯淡了,我们开始

上代码

//先看看下面这个方法,不理解不要紧,继续向下看你就会理解它

var a = Math.floor(Math.random() * (max - min + 1)) + min; 

//下面就让我们慢慢的理解上面这个方法是怎么来的

//先写出在[0-10]之间取随机整数的方法

var b = Math.floor(Math.random() * 10) //这个返回的是[0-10),不包括10,最大到9

 b = Math.floor(Math.random() * (10 + 1)); //这样就能取到[0-10]之间的随即整数了

//然后取一个[30-40]之间的随机整数

//我们把上面的任务分解为先取一个[0-10]之间的随机整数,然后再加上30,是不是就能满足我们上面的需求了,看代码

var c = Math.floor(Math.random() * (40-30 + 1)) + 30;

//那我们要取[max-min]之间的随机整数,代码是不是就为

var a = Math.floor(Math.random() * (max - min + 1)) + min;

//我们是不是已经理解了这段代码的意义呢,是不是想忘记都会很难呢?如果没理解就再多想想。

相关推荐:js基础进阶--编码实用技巧(一).md)

github资源地址:js基础进阶--编码的实用技巧(二).md)

csdn博客地址:https://blog.csdn.net/wxl1555

如果您对我的博客内容有疑惑或质疑的地方,请在下方评论区留言,或邮件给我,共同学习进步。

邮箱:wuxiaolong802@163.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101092.html

相关文章

  • js基础进阶--编码实用技巧(一)

    摘要:我的个人博客前言在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果。下面总结几种简单的技巧,大家共同学习一下利用将字符串转换为整数型这个方法试用于将字符串类型的数字转换为整数型,如果带字母就会返回。 我的个人博客:http://www.xiaolongwu.cn 前言 在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果。 下面总结几种简单的技巧,...

    U2FsdGVkX1x 评论0 收藏0
  • 前端资源系列(4)-前端学习资源分享&前端面试资源汇总

    摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...

    princekin 评论0 收藏0
  • 关于Vue2一些值得推荐的文章 -- 五、六月份

    摘要:五六月份推荐集合查看最新的请点击集前端最近很火的框架资源定时更新,欢迎一下。苏幕遮燎沈香宋周邦彦燎沈香,消溽暑。鸟雀呼晴,侵晓窥檐语。叶上初阳乾宿雨,水面清圆,一一风荷举。家住吴门,久作长安旅。五月渔郎相忆否。小楫轻舟,梦入芙蓉浦。 五、六月份推荐集合 查看github最新的Vue weekly;请::点击::集web前端最近很火的vue2框架资源;定时更新,欢迎 Star 一下。 苏...

    sutaking 评论0 收藏0
  • 关于Vue2一些值得推荐的文章 -- 五、六月份

    摘要:五六月份推荐集合查看最新的请点击集前端最近很火的框架资源定时更新,欢迎一下。苏幕遮燎沈香宋周邦彦燎沈香,消溽暑。鸟雀呼晴,侵晓窥檐语。叶上初阳乾宿雨,水面清圆,一一风荷举。家住吴门,久作长安旅。五月渔郎相忆否。小楫轻舟,梦入芙蓉浦。 五、六月份推荐集合 查看github最新的Vue weekly;请::点击::集web前端最近很火的vue2框架资源;定时更新,欢迎 Star 一下。 苏...

    khs1994 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<