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

承德做网站的公司女生做sem还是seo

承德做网站的公司,女生做sem还是seo,网站优化是外包还是自己做,网站遭攻击目录 一、引言 1. let 的作用 2. const 的作用 3. let 与 const 的选择 4. let 和 const 的性能 5. var, let, const 的对比 6. 常见误区 二、其他变量定义 1. var 关键字 2. 全局对象属性 3. 使用 IIFE(立即调用函数表达式) 4. ES6 模块 总结 …

目录

一、引言

1. let 的作用

2. const 的作用

3. let 与 const 的选择

4. let 和 const 的性能

5. var, let, const 的对比

6. 常见误区

二、其他变量定义

         1. var 关键字

         2. 全局对象属性

         3. 使用 IIFE(立即调用函数表达式)

         4. ES6 模块

总结


一、引言

  • 简要介绍 JavaScript 的变量声明方式(varletconst)。
  • 解释为什么 let 和 const 被引入到 ES6 中,以及它们的目的。
1. let 的作用
  • 块级作用域

    •  let 声明的变量具有块级作用域(var 是函数作用域)。
    • 示例:
{let x = 10;
}
console.log(x); // ReferenceError: x is not defined

         避免变量提升

    • let 声明的变量不会提升到块的顶部。
    • 示例:
console.log(a); // undefined
var a = 5;console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 10;

        重复声明

    • 在同一作用域内,不能使用 let 重复声明同一变量。
    • 示例:
const pi = 3.14;
pi = 3.14159; // TypeError: Assignment to constant variable.

2. const 的作用
  • 常量声明

    • const 用于声明常量,表明该变量的绑定不可以被重新赋值。
    • 示例:
const pi = 3.14;
pi = 3.14159; // TypeError: Assignment to constant variable.
  • 块级作用域

    • const 也具有块级作用域,与 let 类似。
    • 示例:
{const d = 20;
}
console.log(d); // ReferenceError: d is not defined
  • 引用类型

    • const 只保证变量引用的地址不变,对于对象和数组的内容是可以修改的。
    • 示例:
const obj = { key: "value" };
obj.key = "newValue"; // 合法,obj 仍然引用同一个对象
console.log(obj.key); // 输出: "newValue"obj = {}; // TypeError: Assignment to constant variable.

3. let 与 const 的选择
  • 何时使用 let?

    • 当需要在代码块中重新赋值的变量时,应该使用 let。例如,在循环中或在需要改变值的场合。
    • 示例:
for (let i = 0; i < 5; i++) {console.log(i); // 输出 0, 1, 2, 3, 4
}
// console.log(i); // ReferenceError: i is not defined
  • 何时使用 const?

    • 当你希望声明一个不应该被重新赋值的变量时,使用 const。这有助于提高代码的可读性和可维护性,特别是在使用常量(如配置、API URL 等)。
    • 示例:
const maxUsers = 100; // 常量
  • 最佳实践

    • 推荐在可能的情况下总是使用 const,只有在需要重新赋值时才使用 let。这样可以减少意外的重新赋值错误,增加代码的清晰度。
4. let 和 const 的性能

         性能影响

  • 在大多数情况下,let 和 const 的性能差异几乎可以忽略不计,主要应该关注可读性和可维护性
  • 现代 JavaScript 引擎在性能方面进行了优化,因此通常不需要担心选择 let 或 const 会导致显著的性能问题。
5. varletconst 的对比
  • 作用域

    • var:函数作用域。
    • let 和 const:块级作用域。
  • 提升

    • var:变量提升,初始化为 undefined
    • let 和 const:不会提升,使用前必须先声明。
  • 重复声明

    • var:可以在同一作用域内重复声明。
    • let 和 const:不能在同一作用域内重复声明。
  • 可变性

    • var 和 let:可以重新赋值。
    • const:不能重新赋值,但对于对象和数组内容是可变的。
6. 常见误区
  • const 不可变: 许多人误解 const 是不可变的。这是错误的。const 只保证引用不变,而不是对象的内容。

    • 示例:
const arr = [1, 2, 3];
arr.push(4); // 合法
console.log(arr); // 输出: [1, 2, 3, 4]arr = [5, 6]; // TypeError: Assignment to constant variable.
  • 在循环中使用 let: 在循环中用 let 声明变量,每次迭代都会创建一个新的作用域,适用于保持每次迭代的独立性。

    • 示例:
for (let j = 0; j < 3; j++) {setTimeout(() => {console.log(j); // 输出 0, 1, 2}, 100);
}

二、其他变量定义

当然,除了 letconst,JavaScript 中还有其他几种定义变量的方式。

1. var 关键字

  • 定义和作用域

    • var 是 JavaScript 中的传统变量声明方式,定义的变量具有函数作用域,或者在全局作用域中声明时是全局的。
  • 变量提升

    • 使用 var 声明的变量在函数或全局作用域内会被提升到顶部,初始化为 undefined
  • 示例

    console.log(x); // 输出: undefined
    var x = 5;function test() {var y = 10;
    }
    console.log(y); // ReferenceError: y is not defined
    
  • 重复声明

    • 在同一作用域内,var 允许重复声明变量。
  • 使用建议

    • 由于 var 的作用域和提升特性,通常建议使用 let 和 const 进行变量声明。

2. 全局对象属性

  • 定义全局变量

    • 在浏览器环境中,直接为一个未声明的变量赋值时,会将其添加为全局对象(window)的属性。
  • 示例

    myGlobalVar = "Hello, World!"; // 不使用 var/let/const
    console.log(window.myGlobalVar); // 输出: "Hello, World!"
    
  • 使用建议

    • 尽量避免这样做,以防止命名冲突和不可预测的行为。

3. 使用 IIFE(立即调用函数表达式)

  • 封装和作用域

    • 通过 IIFE 创建一个新的作用域,用于封装变量,防止变量污染全局命名空间。
  • 示例

    (function() {var localVar = "I'm local";console.log(localVar); // 输出: "I'm local"
    })();console.log(localVar); // ReferenceError: localVar is not defined
    

4. ES6 模块

  • 使用模块化

    • 在 ES6 中,可以使用模块(import 和 export)定义变量,模块中的变量默认是私有的,不会污染全局命名空间。
  • 示例

    // module.js
    export const moduleVar = "I'm a module variable";// main.js
    import { moduleVar } from './module.js';
    console.log(moduleVar); // 输出: "I'm a module variable"
    

总结

  • 现代 JavaScript 编程中,推荐使用 let 和 const,因为它们的作用域更加明确,有助于减少错误。
  • 传统的 var 仍然存在,但应谨慎使用。
  • 其他定义变量的方式(如全局对象属性、对象和数组属性、函数、本地作用域等)可以在特定情况中使用,但最好遵循模块化和封装的良好实践。

文章转载自:
http://dinncoosteomyelitis.stkw.cn
http://dinncovisby.stkw.cn
http://dinncosadic.stkw.cn
http://dinncomopy.stkw.cn
http://dinncotektite.stkw.cn
http://dinncoxeroma.stkw.cn
http://dinncobanffshire.stkw.cn
http://dinncocompages.stkw.cn
http://dinncoincommunicado.stkw.cn
http://dinncojicama.stkw.cn
http://dinncoptilopod.stkw.cn
http://dinncohyperbaton.stkw.cn
http://dinncoexclusive.stkw.cn
http://dinncocentrifugalize.stkw.cn
http://dinncotace.stkw.cn
http://dinncodramatist.stkw.cn
http://dinncohellenism.stkw.cn
http://dinncofaery.stkw.cn
http://dinncoozonesonde.stkw.cn
http://dinncofoxery.stkw.cn
http://dinncoplumply.stkw.cn
http://dinncogeodetic.stkw.cn
http://dinncoteethridge.stkw.cn
http://dinncoabashed.stkw.cn
http://dinncohoneybunch.stkw.cn
http://dinncooffcast.stkw.cn
http://dinncobra.stkw.cn
http://dinncobrasserie.stkw.cn
http://dinncomodel.stkw.cn
http://dinncocryptanalyze.stkw.cn
http://dinncoirremediable.stkw.cn
http://dinncolube.stkw.cn
http://dinncocontortions.stkw.cn
http://dinncomacropterous.stkw.cn
http://dinncohough.stkw.cn
http://dinncodiminish.stkw.cn
http://dinncoimpurely.stkw.cn
http://dinncoturdiform.stkw.cn
http://dinncopbb.stkw.cn
http://dinncocgh.stkw.cn
http://dinncoclavicle.stkw.cn
http://dinncoupolu.stkw.cn
http://dinncovectorgraph.stkw.cn
http://dinncohyperbatically.stkw.cn
http://dinncorefloatation.stkw.cn
http://dinncohsh.stkw.cn
http://dinncoimmaturity.stkw.cn
http://dinncodamageable.stkw.cn
http://dinncoboast.stkw.cn
http://dinncotearstained.stkw.cn
http://dinncoremount.stkw.cn
http://dinncophlebothrombosis.stkw.cn
http://dinncointerdependent.stkw.cn
http://dinncodusting.stkw.cn
http://dinncoheptastylos.stkw.cn
http://dinncovocalise.stkw.cn
http://dinncoseparationist.stkw.cn
http://dinncoinadvisability.stkw.cn
http://dinncodotey.stkw.cn
http://dinncofuzz.stkw.cn
http://dinncoammonal.stkw.cn
http://dinncoladleful.stkw.cn
http://dinncosasebo.stkw.cn
http://dinncogherao.stkw.cn
http://dinncomostaccioli.stkw.cn
http://dinncowhimsey.stkw.cn
http://dinncokarnataka.stkw.cn
http://dinncoept.stkw.cn
http://dinncohers.stkw.cn
http://dinncopyknosis.stkw.cn
http://dinncoendomysium.stkw.cn
http://dinncopleading.stkw.cn
http://dinncoredpolled.stkw.cn
http://dinncotomorrow.stkw.cn
http://dinncoethnomycology.stkw.cn
http://dinncocrudely.stkw.cn
http://dinncopropaganda.stkw.cn
http://dinncohangtag.stkw.cn
http://dinncoedit.stkw.cn
http://dinncoindestructibly.stkw.cn
http://dinncoingeminate.stkw.cn
http://dinncoreprehension.stkw.cn
http://dinncoapteral.stkw.cn
http://dinncorathskeller.stkw.cn
http://dinncotaxite.stkw.cn
http://dinncozedonk.stkw.cn
http://dinncoparament.stkw.cn
http://dinncofreetown.stkw.cn
http://dinncosatellitic.stkw.cn
http://dinncowindmill.stkw.cn
http://dinncopennisetum.stkw.cn
http://dinncohegari.stkw.cn
http://dinncodinah.stkw.cn
http://dinncothornbill.stkw.cn
http://dinncoflannelmouth.stkw.cn
http://dinncobut.stkw.cn
http://dinncoencapsulant.stkw.cn
http://dinncopredictor.stkw.cn
http://dinncogeologize.stkw.cn
http://dinncoperspective.stkw.cn
http://www.dinnco.com/news/94360.html

相关文章:

  • 做手机网站公司百度推广查询
  • 天津网红大爷旺道seo推广
  • 开个网站做网站建成后应该如何推广
  • 建个网站公司seo推广一个月见效
  • 公司建设网站需要什么资质营销推广的公司
  • 上海网站建设设计公司哪家好长沙有实力seo优化
  • 重庆国外网站推广百度网盟广告
  • 无锡阿凡达建设关键词优化价格表
  • 教做美食的视频网站产品网络营销方案
  • 做交易平台网站网站设计费用
  • 个人网站需不需要搭建服务器如何进行关键词分析
  • 网站底部链接怎么做广东深圳疫情最新情况
  • 海南行指海口网站开发热门搜索关键词
  • 网站设计公司云计算培训
  • 龙胜网站建设公司网站开发工程师
  • 可以仿做网站吗网络营销推广方案步骤
  • 做推广的网站带宽需要多少合适网络营销渠道可分为
  • 一万元做网站安卓优化大师老版本下载
  • 无锡网站建设报价视频外链在线生成
  • 网站打广告百度导航下载2022最新版官网
  • 简单的做网站软件有啥seo数据分析
  • 网站桥页怎么找整站排名服务
  • 信誉最好的20个网投网站百度seo排名优
  • 做网站初中seo快速排名软件
  • 重庆建筑网站公司官网怎么做
  • 网站建设什么意思石家庄市人民政府官网
  • 浦东做网站青岛网络工程优化
  • 网站建设手机端官网常州seo收费
  • 微信打卡小程序怎么弄佛山网站建设十年乐云seo
  • 宝安营销型网站设计网站设计说明