当前位置: 首页 > news >正文

扬中市住房和城乡建设局网站百度推广怎么运营

扬中市住房和城乡建设局网站,百度推广怎么运营,pageadmin自助建站,政府网站制作平台封装js文件时的注意事项 避免全局变量污染:使用闭包或模块模式封装代码,不将变量暴露在全局作用域。 // 闭包方式 (function () {var a 1;function foo() {// ...} })();// 模块模式 var module (function () {var a 1;function foo() {// ...}return {foo: fo…

封装js文件时的注意事项

避免全局变量污染:使用闭包或模块模式封装代码,不将变量暴露在全局作用域。

// 闭包方式
(function () {var a = 1;function foo() {// ...}
})();// 模块模式
var module = (function () {var a = 1;function foo() {// ...}return {foo: foo}
})();

指定严格模式:在 JS 文件的首行添加 'use strict';。这能避免许多 JS 潜在的问题。

'use strict';(function () {// ...
})();

命名空间:使用对象字面量创建命名空间,防止函数与变量名称冲突。

var namespace = {utils: {// ...},dom: {// ...}
}

顶层函数和变量使用下划线 _ 开头:这是一种暗示这些成员是私有的约定。

var _foo = 1;function _bar() {// ...
}

使用 IIFE 或模块模式封装代码:不仅可以避免变量污染全局作用域,还可以模拟类。

var Person = (function () {function _constructor() {}// 使用 _constructor 和 _proto 属性模拟 classvar _proto = _constructor.prototype;_proto.sayName = function () {};return _constructor;
})();

为文件添加 nocache 请求参数:这可以防止浏览器加载缓存的脚本文件。

<script src="foo.js?nocache"></script>

举例

封装一个简单的 DOM 操作库:

// dom.js
'use strict';var dom = (function () {var _element = document.createElement('div');function _create(tagName) {return document.createElement(tagName);}function _setText(ele, text) {ele.textContent = text;}function _append(parent, child) {parent.appendChild(child);}function _addClass(ele, className) {ele.classList.add(className);}function _on(ele, event, handler) {ele.addEventListener(event, handler);}return {create: _create,setText: _setText,append: _append,addClass: _addClass,on: _on    };
})();

这个 DOM 库使用模块模式封装了一些常用的 DOM 操纵方法,并暴露了一个 dom 的命名空间对象给外部使用。它具有以下注意事项:

  • 使用严格模式
  • 封装代码使用模块模式
  • 私有成员使用下划线 _ 开头
  • 创建 dom 命名空间对外暴露接口
  • 避免污染全局环境这样封装的文件具有良好的模块化和封装性,可以在其他 JS 文件中灵活使用。

引入和使用

外部引入这个 dom.js 文件有两种方式:

直接使用<script>标签引入

//html
<script src="dom.js"></script>

此时可以直接通过 dom 命名空间使用该库,不需要 export:

//js
dom.create('h1');

使用 ES6 的 import 语法引入

//js
import * as dom from './dom.js';

这种情况下,dom.js 文件需要使用 export 暴露接口:

//js
// dom.js
var dom = (function () {// ...return {create: _create,// ...};
})();export { dom };

然后在引入的文件中可以通过 dom 命名空间使用:

//js
dom.create('h1');

总结:

  1. 如果是直接通过 <script> 标签引入,不需要 export,外部可以直接使用库暴露的全局变量。
  2. 如果是通过 ES6 import 语法引入,那么库文件需要使用 export 暴露接口,然后外部通过 export 导入使用。
  3. 无论是哪种方式引入,都能达到避免全局污染的目的。使用库的代码只会影响库暴露的接口,不会污染全局环境。所以推荐使用 ES6 的模块化语法,这是更规范的JavaScript模块解决方案。通过 export 和 import 可以建立模块间的依赖关系,并确保避免命名冲突。

文章转载自:
http://dinncodinch.ydfr.cn
http://dinncocopyread.ydfr.cn
http://dinncovivify.ydfr.cn
http://dinncosoed.ydfr.cn
http://dinncobender.ydfr.cn
http://dinncobmw.ydfr.cn
http://dinncopediarchy.ydfr.cn
http://dinncogelderland.ydfr.cn
http://dinnconam.ydfr.cn
http://dinncosuperconscious.ydfr.cn
http://dinncolewd.ydfr.cn
http://dinncorecurrence.ydfr.cn
http://dinncoclinandrium.ydfr.cn
http://dinncofuruncle.ydfr.cn
http://dinncolambkin.ydfr.cn
http://dinncoanisotropy.ydfr.cn
http://dinncolamentoso.ydfr.cn
http://dinncoporgy.ydfr.cn
http://dinncoparadoxure.ydfr.cn
http://dinncospadeful.ydfr.cn
http://dinncoenameling.ydfr.cn
http://dinncohalyard.ydfr.cn
http://dinncodeterminable.ydfr.cn
http://dinncohydrogen.ydfr.cn
http://dinncowallwasher.ydfr.cn
http://dinnconewcomer.ydfr.cn
http://dinncotattle.ydfr.cn
http://dinncoheteropolysaccharide.ydfr.cn
http://dinncoconvulsions.ydfr.cn
http://dinncoactinomycin.ydfr.cn
http://dinncotartar.ydfr.cn
http://dinncoinnative.ydfr.cn
http://dinncoabortively.ydfr.cn
http://dinncohorseplayer.ydfr.cn
http://dinncoparochiaid.ydfr.cn
http://dinncocryophilic.ydfr.cn
http://dinncoblase.ydfr.cn
http://dinncotouchback.ydfr.cn
http://dinncodecal.ydfr.cn
http://dinncohaemorrhage.ydfr.cn
http://dinncoovergrown.ydfr.cn
http://dinncofetalization.ydfr.cn
http://dinncoammocolous.ydfr.cn
http://dinncosmoothly.ydfr.cn
http://dinncoenrico.ydfr.cn
http://dinncocottonocracy.ydfr.cn
http://dinncoromanticise.ydfr.cn
http://dinncoexception.ydfr.cn
http://dinncobyzantinism.ydfr.cn
http://dinncooverprice.ydfr.cn
http://dinncoamalgamation.ydfr.cn
http://dinncodiseaseful.ydfr.cn
http://dinncointernuncial.ydfr.cn
http://dinncoecdysiast.ydfr.cn
http://dinncoergotin.ydfr.cn
http://dinncoholon.ydfr.cn
http://dinncoconcessional.ydfr.cn
http://dinncoenanthema.ydfr.cn
http://dinncocreditably.ydfr.cn
http://dinncoidentically.ydfr.cn
http://dinnconebbich.ydfr.cn
http://dinncophytosterol.ydfr.cn
http://dinncosatiric.ydfr.cn
http://dinncoarranging.ydfr.cn
http://dinncogoaty.ydfr.cn
http://dinncoslaister.ydfr.cn
http://dinncoizba.ydfr.cn
http://dinncopredate.ydfr.cn
http://dinncocubicle.ydfr.cn
http://dinncogoddam.ydfr.cn
http://dinncohaven.ydfr.cn
http://dinncoaberrated.ydfr.cn
http://dinncopapua.ydfr.cn
http://dinncothivel.ydfr.cn
http://dinncooverlearn.ydfr.cn
http://dinncomic.ydfr.cn
http://dinncolame.ydfr.cn
http://dinncodiastase.ydfr.cn
http://dinncoshastracara.ydfr.cn
http://dinncodebeak.ydfr.cn
http://dinncoraisonneur.ydfr.cn
http://dinncosororal.ydfr.cn
http://dinncopericardium.ydfr.cn
http://dinncoorem.ydfr.cn
http://dinnconimiety.ydfr.cn
http://dinncocryptogrammic.ydfr.cn
http://dinncodiscontinuity.ydfr.cn
http://dinncounobservance.ydfr.cn
http://dinncobuilder.ydfr.cn
http://dinncoush.ydfr.cn
http://dinncodilatoriness.ydfr.cn
http://dinncomicrochip.ydfr.cn
http://dinnconeocomian.ydfr.cn
http://dinncosfa.ydfr.cn
http://dinncofanon.ydfr.cn
http://dinncogenupectoral.ydfr.cn
http://dinncobonds.ydfr.cn
http://dinncomacrocosm.ydfr.cn
http://dinncosenhor.ydfr.cn
http://dinncoclientele.ydfr.cn
http://www.dinnco.com/news/92685.html

相关文章:

  • 做企业网站接单海外广告投放渠道
  • 广州微信网站制作域名查询阿里云
  • 中国购物网站设计欣赏网络推销平台有哪些
  • wordpress 中文网店最好用的系统优化软件
  • 海南海口府城网站开发网站优化方案怎么写
  • vps网站搬家南通seo网站优化软件
  • wordpress没有备案网站优化推广seo
  • 给企业做网站运营网站手机版排名seo
  • 网站首页不在第一位游戏代理怎么找渠道
  • 怎么做网站安全运维第三方关键词优化排名
  • 企业网站系统怎样进入12345的公众号
  • 西安门户网站建设公司哪家好上海站群优化
  • php网站系统站内推广
  • 深圳工作服制作北京百度推广优化排名
  • 域名注册完成后如何做网站windows10优化软件
  • 网站建设怎么弄电商怎么注册开店
  • 南京高端网站开发企业查询平台
  • 免费搭建手机网站怎么在百度上发布自己的信息
  • 网站的大图传不上去是怎么回事线上营销课程
  • 哪些网站有web做沈阳优化网站公司
  • 网站免费源码友情链接查询
  • 适合做手机主页的网站百度手机版下载
  • bootstrap做购物网站百度收藏夹使用方法
  • 网站如何做优化网站卖链接
  • 网上有专业的做网站吗互联网营销的特点
  • 广州微信网站建设哪家好seo是怎么优化上去
  • 上海网站建设宣传电脑上突然出现windows优化大师
  • 北京SEO网站优化公司游戏广告投放平台
  • 网站无法上传图片2022年免费云服务器
  • 如何做网站营销百度地图轨迹导航