安卓开发替换json字符串中的数据_22个JavaScript开发技巧合集

1dc6c1f2bac935eb9868115dfa10bbd2.png

作者:kancloud

转发链接:https://www.kancloud.cn/dennis/tgjavascript/241855

开发技巧

1、使用var声明变量

如果给一个没有声明的变量赋值,默认会作为一个全局变量(即使在函数内赋值)。要尽量避免不必要的全局变量。

2、行尾使用分号

虽然JavaScript允许省略行尾的分号,但是有时不注意的省略,会导致不必要的错误。建议在可用可不用行为分号的地方加上分号。

3、获取指定范围内的随机数

var getRandom = function(max, min) {min = arguments[1] || 0;return Math.floor(Math.random() * (max - min + 1) + min);};

上面的函数接受一个你希望的随机最大数和一个你希望的随机最小数。

4、打乱数字数组的顺序

var sortArray = array.sort(function(){  return Math.random() - 0.5;});

5、取出数组中的随机项

var ran = array[Math.floor(Math.random() * array.length)];

6、去除字符串的首尾空格

var s = string.trim();

7、类数组对象转为数组

比如:类数组对象遍历:

Array.prototype.forEach.call(argumens,function(value){})

DOM的NodeList和HTMLCollection也是类数组对象

8、获取数组中的最大值和最小值

var max = Math.max.apply(Math, array);var min = Math.min.apply(Math, array);

9、清空数组

array.length = 0;array = [];

10、保留指定小数位

var num = num.toFixed(2);

返回字符串,保留两位小数

11、使用for-in循环来遍历对象的属性

for(var key in object) {   // object[key]}

不要用for-in来遍历数据

12、获取某月天数

function getMonthDay(date){  date = date || new Date();  if(typeof date === 'string') {      date = new Date(date);  };  date.setDate(32);  return 32 - date.getDate();}

传入date参数,可以是字符串、日期对象实例;为空表示当月天数

13、浮点数问题

0.1 + 0.2 = 0.30000000000000004 != 0.3 

JavaScript的数字都遵循IEEE 754标准构建,在内部都是64位浮点小数表示

14、JSON序列化和反序列化

使用JSON.stringify()来将JavaScript对象序列化为有效的字符串。使用JSON.parse()来将有效的字符串转换为JavaScript对象。

在AJAX传输数据时很有用

15、使用“===”替换“==”

相等运算符(==)在比较时会将操作数进行相应的类型转换,而全等运算符(===)不会进行类型转换。

16、避免使用with()

使用with()可以把变量加入到全局作用域中,因此,如果有其它的同名变量,一来容易混淆,二来值也会被覆盖。

17、不要使用eval()或函数构造器

eval()和函数构造器(Function consturctor)的开销较大,每次调用,JavaScript引擎都要将源代码转换为可执行的代码。

18、简化if语句

if (condition) {  fn();}

可替换成:

condition && fn();

19、给可能省略的参数赋默认值

function test(a, b){  a = a || '1';}

20、给数组循环中缓存length的值

如果你确定循环中数组的长度不会变化,那么你可以这样:

var length = array.length;for(var i = 0; i < length; i++) {}

可以避免在每次迭代都将会重新计算数组的大小,提高效率

21、合并数组

对于小数组,我们可以这样:

var arr1 = [1,2,3];var arr2 = [4,5,6];var arr3 = arr1.concat(arr2);  // [1,2,3,4,5,6]

不过,concat()这个函数并不适合用来合并两个大型的数组,因为其将消耗大量的内存来存储新创建的数组。在这种情况之下,可以使用Array.prototype.push.apply(arr1,arr2)来替代创建一个新数组。这种方法不是用来创建一个新的数组,其只是将第一个第二个数组合并在一起,同时减少内存的使用:

Array.prototype.push.apply(arr1, arr2); console.log(arr1); // [1,2,3,4,5,6]

22 枚举对象“自身”的属性

for...in除了枚举对象“自身”的属性外,还会枚举出继承过来的属性。

var hasOwn = Object.prototype.hasOwnProperty;var obj = {name: 'tg', age: 24};for(var name in obj) {  if (hasOwn.call(obj, name)) {    console.log(name + ':' + obj[name]);  }}// name:tg// age:24

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python静态类型解析工具简介和实践

简介&#xff1a; Python是一门强类型的动态类型语言&#xff0c;开发者可以给对象动态指定类型&#xff0c;但类型不匹配的操作是不被允许的。动态类型帮助开发者写代码轻松愉快&#xff0c;然而&#xff0c;俗话说&#xff1a;动态一时爽&#xff0c;重构火葬场。动态类型也带…

拥抱创新二十载,微软“创新杯”持续孵化中国青年开发者智慧创意

12月13日&#xff0c;2022 第二十届微软“创新杯”全球学生大赛&#xff08;以下简称“创新杯”&#xff09;中国区总决赛结果正式揭晓。来自西安的 Silent Talk 团队凭借Silent Talk—— Speech Rehabilitation Training 项目&#xff0c;在 22 支决赛队伍中脱颖而出&#xff…

AI和大数据结合,智能运维平台助力流利说提升核心竞争力

简介&#xff1a; 简介&#xff1a;本文整理自数智创新行——智能运维专场&#xff08;上海站&#xff09;&#xff0c;流利说最佳实践演讲&#xff1a;《基于SLS千万级在线教育平台统一监控运营实践》 作者&#xff1a; 孙文杰 流利说运维总监 元乙 阿里云智能技术专家 优质…

核桃编程:前端可观测性建设之路

简介&#xff1a; 随着核桃编程业务的快速增长&#xff0c;核心应用的系统规模和系统复杂度也在经历翻天覆地的变化。核桃技术团队不断通过新兴的技术手段维护整套系统架构的技术先进性。在3 年时间里&#xff0c;技术团队至少对整体系统架构进行了 6 次以上的重大重构&#xf…

少拿游戏来骗我,虚幻引擎5上的《黑客帝国》全新体验,画面帅到爆

整理 | 禾木木 出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09; 近日&#xff0c;由 Epic Games 发行的虚幻引擎 5 体验上线了。 以华纳兄弟公司电影《黑客帝国》为背景&#xff0c;由拉娜 沃卓斯基担任编剧和导演&#xff0c;基努 里维斯和凯瑞 - 安 莫…

python变量使用前必须先声明、并且一旦声明_初学者学习Python的30天‍-第18天-文件处理...

前文最近不是出了一个30天的Python教程&#xff0c;有很多人私信我说没有资料怎么跟着学习&#xff0c;现在他来了https://www.bilibili.com/read/cv9383238今天&#xff0c;我探讨了如何使用Python处理文件并与文件进行通信。这些天来&#xff0c;我一直在探索和分享各种Pytho…

金融数据智能峰会 | 数据规模爆炸性增长,企业如何进行精准决策?云原生数据仓库数据化运营实战分享

简介&#xff1a; 在日前的2021阿里云金融数据智能峰会——《云原生驱动数智化运营的“增长黑马”》专场上&#xff0c;阿里云数据库资深技术专家魏闯先 从数据价值链路角度切入&#xff0c;为大家解读云原生数据仓库如何支撑数据化运营、全链路营销和阿里集团双11业务&#xf…

redistemplate.opsforvalue 设置不过期_民法典即将实施!“离婚冷静期”倍受关注

还有不到一个月&#xff0c;“离婚冷静期”就要落地了。2021年1月1日起&#xff0c;《中华人民共和国民法典》(以下简称“《民法典》”)将正式施行。作为与老百姓日常生活关系最为紧密的一部法律&#xff0c;《民法典》的制定和施行备受关注&#xff0c;其中尤以“离婚冷静期”…

到底是无线最难?还是核心网最难?

作者 | 小枣君来源 | 鲜枣课堂今天这篇文章&#xff0c;我们来探讨一个通信行业的长期争议话题——到底是无线最难&#xff1f;还是核心网最难&#xff1f;众所周知&#xff0c;通信行业虽然对外统称“通信”&#xff0c;但实际上&#xff0c;内部却分为三个细分板块&#xff0…

谈谈C++新标准带来的属性(Attribute)

简介&#xff1a; 从C11开始&#xff0c;标准引入了一个新概念“属性(attribute)”&#xff0c;本文将简单介绍一下目前在C标准中已经添加的各个属性以及常用属性的具体应用。 作者 | 寒冬 来源 | 阿里技术公众号 从C11开始&#xff0c;标准引入了一个新概念“属性(attribute)…

mmap函数_分析由 mmap 导致的内存泄漏

背景一个程序链接 TCMalloc &#xff0c;同时调用 mmap / munmap 管理一部分较大的内存通过 TCMalloc 的统计信息&#xff0c;判断内存泄漏不是由 new / malloc 等常规接口导致的因此怀疑是 mmap 导致的内存泄漏hookhook mmap / munmap 记录下每一次调用&#xff0c;可以分析出…

如何一站式快速构建企业全场景数据库管理平台?

简介&#xff1a; Gartner 的报告显示预计到2022年将有75%数据库将采用云数据库&#xff0c;与此同时&#xff0c;IDC预计到2024年传统部署数据库市场将达到13亿美元&#xff0c;企业数字化转型升级&#xff0c;积极拥抱开源、云原生数据库成为重要趋势&#xff0c;也是必然选择…

编程能力差,学不好Python、AI、Java等技术,90%是输在了这点上!

据了解&#xff0c;超90%的人在学习Python、Java、AI等技术时&#xff0c;都是在网上随便找个入门的教程就开始学起来。然而多数人在看了不少教程后&#xff0c;还是很难独立完成项目&#xff0c;甚至反思自己为什么学了这么久编程能力还是这么差&#xff01;因为你在刚刚开始学…

更丰富的云原生应用治理能力让业务快速生长

简介&#xff1a; 据 Gartner 的报告显示&#xff0c;到 2022 年将有 50% 的应用软件将容器化&#xff0c;2023 年高可控应用 PaaS 的市场规模将达到 332 亿元&#xff0c;年复合增长率约为 18.7%。企业数字化转型的道路上&#xff0c;积极拥抱云原生&#xff0c;加速业务系统容…

“建木”萌芽,聚木成林

据 Github 2021 年度报告显示&#xff0c;目前 Github 用户数已超 7300 万&#xff0c;中国 Github 开发者 755万&#xff0c;开源吞噬世界的当下&#xff0c;越来越多中国开发者和企业积极参与开源建设。 有一位从事开源 10 多年的从业人员&#xff0c;戏称自己为未来希望成为…

还在为多集群管理烦恼吗?RedHat 和蚂蚁、阿里云给开源社区带来了OCM

简介&#xff1a; 为了让开发者、用户在多集群和混合环境下也能像在单个 Kubernetes 集群平台上一样&#xff0c;使用自己熟悉的开源项目和产品轻松开发功能&#xff0c;RedHat 和蚂蚁、阿里云共同发起并开源了 OCM&#xff08;Open Cluster Management&#xff0c;项目官网 &a…

lol模型导入ue4_Houdini amp; UE4 程序化建模——石头(一)基础工作流

导言最近程序化建模的风气在国内兴起&#xff0c;建立好程序化建模流程&#xff0c;通过调参就可以生成丰富的美术资源。可以程序化建模的内容有很多&#xff0c;国外的程序化曼哈顿、林中小屋等都是很好的例子&#xff0c;所有带有规律的模型都可以程序化来做。程序化可以做从…

iOS 端容器之 WKWebView 那些事

简介&#xff1a; 本文主要是关于在端容器设计开发过程中&#xff0c;WKWebView 使用上遇到的一些问题和解决办法。 一 背景 熟悉 iOS\macOS Hybrid 混合开发的同学应该都有体会&#xff0c;WKWebView 虽然是苹果作为替代 UIWebView\WebView 而推出的"新"组件&…

95后热搜哪些事,夸克用AI引擎发布2021年度关键词

编辑 | 宋慧 出品 | CSDN 云计算 岁末将至&#xff0c;哪些心潮澎湃的瞬间与难以忘怀的言语&#xff0c;能够代表你的2021&#xff1f; 12月14日&#xff0c;在夸克Meet AI开放日上&#xff0c;阿里巴巴智能信息事业群旗下的智能搜索APP夸克与中国传媒大学互联网信息研究院联合…

MaxCompute Spark 资源使用优化祥解

简介&#xff1a; 本文主要讲解MaxCompute Spark资源调优&#xff0c;目的在于在保证Spark任务正常运行的前提下&#xff0c;指导用户更好地对Spark作业资源使用进行优化&#xff0c;极大化利用资源&#xff0c;降低成本。 本文作者&#xff1a;吴数傑 阿里云智能 开发工程师 …