大部分针对Javascript最合理的方法归纳。 原始类型我们可以直接使用值。ο stringο numberο booleanο nullο undefinedvar foo 1, bar foo; bar 9; console.log(foo, bar); // 1, 9• 复合类型我们通过引用对值进行间接访问。ο objectο arrayο functionvar foo [1, 2], bar foo; bar[0] 9; console.log(foo[0], bar[0]); // 9, 9Objects• 使用{}创建对象。// bad var item new Object(); // good var item {};• 不要使用保留字作为关键字。// bad var superman { class: superhero, default: { clark: kent }, private: true }; // good var superman { klass: superhero, defaults: { clark: kent }, hidden: true };Arrays• 使用[]创建数组// bad var items new Array(); // good var items [];• 如果你不知道数组长度使用Array#push。var someStack []; // bad someStack[someStack.length] abracadabra; // good someStack.push(abracadabra);• 当你需要复制数组的时候请使用Array#slice。var len items.length, itemsCopy [], i; // bad for (i 0; i len; i) { itemsCopy[i] items[i]; } // good itemsCopy items.slice();Strings• 对于字符串我们使用单引号。// bad var name Bob Parr; // good var name Bob Parr; // bad var fullName Bob this.lastName; // good var fullName Bob this.lastName;• 超过80个字符的字符串我们使用串联符号\让字符串多行显示。• 注意如果过度使用带串联符号的字符可能会影响到性能。// bad var errorMessage This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.; // bad var errorMessage This is a super long error that \ was thrown because of Batman. \ When you stop to think about \ how Batman had anything to do \ with this, you would get nowhere \ fast.; // good var errorMessage This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.;• 当我们在编程的时候需要拼接出一个字符串我们可以使用Array#join 代替字符串连接。尤其是对IE浏览器。var items, messages, length, i; messages [{ state: success, message: This one worked. },{ state: success, message: This one worked as well. },{ state: error, message: This one did not work. }]; length messages.length; // bad function inbox(messages) { items ul; for (i 0; i length; i) { items li messages[i].message /li; } return items /ul; } // good function inbox(messages) { items []; for (i 0; i length; i) { items[i] messages[i].message; } return ulli items.join(/lili) /li/ul; }Functions• 函数表达式// anonymous function expression var anonymous function() { return true; }; // named function expression var named function named() { return true; }; // immediately-invoked function expression (IIFE) (function() { console.log(Welcome to the Internet. Please follow me.); })();• 绝对不要在非函数块if,while申明一个函数。我们可以把函数申明变成一个函数表达式。// bad if (currentUser) { function test() { console.log(Nope.); } } // good if (currentUser) { var test function test() { console.log(Yup.); }; }

相关新闻

最新新闻

3分钟掌握闲鱼数据智能采集:自动化市场洞察新方案

3分钟掌握闲鱼数据智能采集:自动化市场洞察新方案

3分钟掌握闲鱼数据智能采集:自动化市场洞察新方案 【免费下载链接】xianyu_spider 闲鱼APP数据爬虫(废弃项目) 项目地址: https://gitcode.com/gh_mirrors/xia/xianyu_spider 在二手电商市场快速发展的今天,获取精准的商品…

2026/7/4 3:55:34
7 月 15 日起,追踪影视的 TV Time 应用停服,难盈利成主因

7 月 15 日起,追踪影视的 TV Time 应用停服,难盈利成主因

TV Time 应用停服,7 月 15 日起不再可用一款能让用户追踪正在观看的电视剧和电影的应用程序 TV Time,从 7 月 15 日起将停止服务。开发者在支持页面更新中明确告知这一消息。难以为继:免费运营与付费市场的双重困境TV Time 开发者称&#xff…

2026/7/4 3:55:34
毕设还剩 30 天?这份倒排计划表,照着做或直接找人做都来得及

毕设还剩 30 天?这份倒排计划表,照着做或直接找人做都来得及

毕设还剩 30 天?这份倒排计划表,照着做或直接找人做都来得及目标读者:时间紧、想毕业、正在考虑要不要花钱买进度的同学。 这篇既是自救计划,也是你找我做方案时的标准排期参考。一、30 天能不能搞定?能,但…

2026/7/4 3:55:34
淘宝电商运营新手入门完整教程|零基础开店引流

淘宝电商运营新手入门完整教程|零基础开店引流

很多淘宝新手商家开店后都会陷入同一个困境:店铺装修完毕、商品上架齐全,却零流量、零访客、零订单。不懂平台规则、不会引流推广、付费工具成本太高、免费流量拿不到,最后新店熬不过冷启动期直接弃店。淘宝运营从来不是靠运气,而…

2026/7/4 3:55:34
Kimi    LeetCode 3459. 最长 V 形对角线段的长度 Java实现

Kimi LeetCode 3459. 最长 V 形对角线段的长度 Java实现

LeetCode 3459. 最长 V 形对角线段的长度 — Java 实现题目概述- 给定 n m 的矩阵 grid,元素值为 0、1 或 2。 - V 形对角线段 规则:- 必须从 1 开始。- 后续元素按 2, 0, 2, 0, ... 交替。- 沿四个对角线方向之一移动。- 最多允许一次顺时针 90 转向。…

2026/7/4 3:55:34
AI模型推理部署GPU选型指南:从7B到671B的显存与成本测算

AI模型推理部署GPU选型指南:从7B到671B的显存与成本测算

省流版:推理部署的GPU选型取决于模型规模与并发量。7B-14B模型单卡RTX 5090或A100即可胜任;70B模型需H100/H200或量化后单卡运行;高并发场景推荐vLLM 多卡集群。 一、推理与训练:硬件需求的方向性差异 推理是只读任务&#xff…

2026/7/4 3:50:34

周新闻

月新闻