首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何写出优雅 JS 代码,变量和函数正确写法

在开发中,变量名,函数名一般要做到清晰明了,尽量做到看名字就能让人知道你意图,所以变量和函数命名是挺重要,今天来看看如果较优雅方式给变量和函数命名。...变量 使用有意义和可发音变量名 // 不好写法 const yyyymmdstr = moment().format("YYYY/MM/DD"); // 好写法 const currentDate...让你变量名可被读取,像 buddy.js 和 ESLint 这样工具可以帮助识别未命名常量。 // 不好写法 // 86400000 用途是什么?...JS 中是一种不好做法,因为可能会与另一个库发生冲突,并且在他们生产中遇到异常之前,API 用户将毫无用处。...让我们考虑一个示例:如果想扩展 JS 原生Array方法以具有可以显示两个数组之间差异diff方法,该怎么办?

3.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

JS通用模块写法

模块化这个问题并非一开始就存在,WWW 刚刚问世时候,html,JavaScript,CSS(JS 和 CSS 都是后来在网景被引进浏览器)都是极其简单存在,不需要模块化。...在 ES6 以前,JS 语言没有模块化,如何让 JS 不止运行在浏览器,且能更有效管理代码, 于是应运而生 CommonJS 这种规范,定义了三个全局变量: require,exports,module...require 用于引入一个模块 exports 对外暴露模块接口,可以是任何类型 module 是这个模块本身对象 用 require 引入时获取是这个模块对外暴露接口(exports) Node.js...我们要实现一个模块,让它既能在 seajs(CMD)环境里引入,又能在 requirejs(AMD)环境中引入,当然也能在 Node.js(CommonJS)中使用,另外还可以在没有模块化环境中用 script...,对象,类,其他都可以 首先满足 Node.js 或者 ES6,我们可以通过全局变量 module 和 exports 来判断 var factory = function () { var moduleName

2K10

js中(function(){})()写法用处

以前看到老师写js单例模式时疑惑为什么要这么写 var singleton = (function () { var privateVariable; function privateFunction...中(function(){…})()立即执行函数写法理解,终于了解了。...来来来,首先嘛,JS中函数有两种命名方式 1、一种是声明式。 而声明式会导致函数提升,function会被解释器优先编译。即我们用声明式写函数,可以在任何区域声明,不会影响我们调用。...function XXX(){}1 2、一种是函数表达式 函数表达式我们经常使用,而函数表达式中function则不会出现函数提升。而是JS解释器逐行解释,到了这一句才会解释。...fn1(); function fn1(){}//可以正常调用 fn2(); var fn2 = function(){}//无法调用 OK,下面进入正题,对函数表达式加上(),是可以直接调用 但是如果是对声明式后部加上

3.4K00

Js变量

Js变量:  1:如果在var中没有初始化变量值,则默认为undefined.  2:可以不用var来申明一个变量,但是在过程级中申明一个变量时,就必须用var.   ...var bestAge = null;  4:如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值 undefined。下面给出示例。    ...var currentCount  5: 在 JScript 中 null 和 undefined 主要区别是 null 操作象数字 0,    而 undefined 操作象特殊值NaN (不是一个数字...js数据类型  1:Jscript 有三种主要数据类型、两种复合数据类型和两种特殊数据类型    主要(基本)数据类型是: 字符串 数值 布尔    复合(引用)数据类型是: 对象 数组    特殊数据类型是...: Null Undefined  2:测试是否已经声明变量 x :    if (typeof(x) == "undefined")      // 作某些操作 js内置对象  1:Jscript

12.8K60

js书写原生ajax,JS 原生ajax写法

原生ajax 原文链接:http://caibaojian.com/ajax-jsonp.html 一.JS原生ajax ajax:一种请求数据方式,不需要刷新整个页面: ajax技术核心是 XMLHttpRe...jquery插件ajax方法,于是就行了一些总结,因 … js原生Ajax封装与使用 一.原生Ajax代码封装如下: (function() { var XHR = { createStandardXHR...: function() { return new XMLHttpRequest … js原生Ajax 封装和原理 原理及概念 AJAX即“Asynchronous Javascript And XML...原生ajax 主要复习了phppdo数据库操作,和jsajax,真麻烦,希望jqueryajax简单点. index.php: 1 2 [代码]JS原生Ajax&comma...;GET和POST javascript/jsajaxGET请求: Jquery学习笔记(10)–ajax删除用户,使用了js原生ajax 主要复习了phppdo数据库操作,和jsajax,真麻烦

15.3K40

html js 全局 变量,JS定义全局变量

【实例名称】 定义全局变量 【实例描述】 在高级开发语言(如c#、Java)中可以很方便地使用“public”等关键字,定义应用程序中全局变量,但JaVascript变量只能存在于当前方法中。...本例通过一个简单方法实现全局变量定义。...”;’); //设置全局变量值 alert(varText); //显示全局变量值 【运行效果】 【难点剖析】 本例重点是“window.execscript”方法,execscript所执行脚本是针对整个全局域...将“varText”变量设置为window对象属性,则在全局中都可以调用此变量。...【源码下载】 为了JS代码准确性,请点击:定义全局变量 进行本实例源码下载 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134413.html原文链接:https

15.6K20

理解js变量提升

深刻理解变量提升 当执行 JS 代码时,会生成执行环境,只要代码不是写在函数中,就是在全局执行环境中,函数中代码会产生函数执行环境,只此两种执行环境。...{ console.log('call b') } 想必以上输出大家肯定都已经明白了,这是因为函数和变量提升原因。...通常提升解释是说将声明代码移动到了顶部,这其实没有什么错误,便于大家理解。但是更准确解释应该是:在生成执行环境时,会有两个阶段。...第一个阶段是创建阶段,JS 解释器会找出需要提升变量和函数,并且给他们提前在内存中开辟好空间,函数的话会将整个函数存入内存中,变量只声明并且赋值为 undefined,所以在第二个阶段,也就是代码执行阶段...在提升过程中,相同函数会覆盖上一个函数,并且函数优先于变量提升 b() // call b second function b() { console.log('call b fist')

5.5K20

JS 变量提升

今天去面试了,总体感觉很不错,整个公司还有人气氛都很棒,希望能顺利通过。 问到 JS 一些细节问题时候发挥比较糟糕,有些是知道反应得太慢,有些是压根没接触过,还是积累太少了。...这篇 JS 变量提升问题就是从没有接触过,网上一搜一大把,实在是不应该。为了不给信息爆炸添砖加瓦。。。照例尝试就这个问题扯一些别的理解。...,但对变量提升具体行为则不了解了。...在蝴蝶书里有一笔带过提了一句“通常编写代码提倡把变量声明尽量贴近变量使用位置,以提供上下文参考,但 Javascript 没有块级作用域,所以反而推荐在函数顶部给出所有用到变量声明。”...(当然,早有更加好办法了,像上面中 if 括号内赋值写法,在 lint 过程中就会被提醒存在潜在问题,所以这里只是个例子。)

6.9K20

js数据_变量_内存

* 存储于内存中代表特定信息'东东', 本质就是0101二进制 * 具有可读和可传递基本特性 * 万物(一切)皆数据, 函数也是数据 * 程序中所有操作目标: 数据 * 算术运算 * 逻辑运算 *...* 内存条通电后产生存储空间(临时) * 产生和死亡: 内存条(集成电路板)==>通电==>产生一定容量存储空间==>存储各种数据==>断电==>内存全部消失 * 内存空间是临时, 而硬盘空间是持久...* 一块内存包含2个数据 * 内部存储数据(一般数据/地址数据) * 内存地址值数据 * 内存分类 * 栈: 全局变量, 局部变量 (空间较小) * 堆: 对象 (空间较大) 3....什么是变量? * 值可以变化量, 由变量名与变量值组成 * 一个变量对应一块小内存, 变量名用来查找到内存, 变量值就是内存中保存内容 4....内存,数据, 变量三者之间关系 * 内存是一个容器, 用来存储程序运行需要操作数据 * 变量是内存标识, 我们通过变量找到对应内存, 进而操作(读/写)内存中数据 --> <script type

3.5K00

js数据_变量_内存

* 存储于内存中代表特定信息'东东', 本质就是0101二进制 * 具有可读和可传递基本特性 * 万物(一切)皆数据, 函数也是数据 * 程序中所有操作目标: 数据 * 算术运算 * 逻辑运算 *...* 内存条通电后产生存储空间(临时) * 产生和死亡: 内存条(集成电路板)==>通电==>产生一定容量存储空间==>存储各种数据==>断电==>内存全部消失 * 内存空间是临时, 而硬盘空间是持久...* 一块内存包含2个数据 * 内部存储数据(一般数据/地址数据) * 内存地址值数据 * 内存分类 * 栈: 全局变量, 局部变量 (空间较小) * 堆: 对象 (空间较大) 3....什么是变量? * 值可以变化量, 由变量名与变量值组成 * 一个变量对应一块小内存, 变量名用来查找到内存, 变量值就是内存中保存内容 4....内存,数据, 变量三者之间关系 * 内存是一个容器, 用来存储程序运行需要操作数据 * 变量是内存标识, 我们通过变量找到对应内存, 进而操作(读/写)内存中数据 --> <script type

3.1K00
领券