一,定义变量let(类似var)
在js一直有一个bug是var:
1、var 声明的变量会有变量提升
console.log(name); //jhonvar name = 'jhon';
2、var 没有块级作用域
var name2 = 'jjjon'; { var name2 = 'tom'; } console.log(name2); //tom
3、var 可以多次重复定义一个变量,后面的变量替换前面变量
var name3 = 'jond';var age = 18;var name3 = 19;var name3 = 'rose'; console.log(name3); //rose
新的定义变量let:
1、let声明的变量不会有变量提升,只有在前面定义了在后面才能用
console.log(name4); //报错let name4 = '1112';
2、let存在块级作用域
let name5 = '222'; { let name5 = ' ttt'; } console.log(name5); //222
3、let不能多次重复定义一个变量
let name6 = 'aa'; let name6 = 'bb'; //报错console.log(name6); //aa
二,const 声明一个常量
常量:指的是不会改变的数据
1、值不能再改变
const pi = 3.01415;//pi = 3; //报错 { const arr = [5,6,8,9,]; arr.push(7); console.log(arr); //(5) [5, 6, 8, 9, 7] arr = 10; //值不能改变,否则报错 }
2、常量具有块级作用域
{ const ban = "vin"; } console.log(ban); //报错
3、没有变量提升,先声明后使用
console.log(ba); //报错const ba = 'liu';
4、不能声明同名的常量
5、一定要赋初始值,否则报错
const bb; //报错
6、如果声明的是对象,对象的地址不能改变,但是可以改变其内部的属性
const obj = { na:"jjjj", age:20}; console.log(obj.na); //jjjjobj.na = "ccs"; console.log(obj.na); //ccs
例如:应用场景,固定的地址就可以用常量
// var path = 1122// var path = '1243';const path = 'path'; console.log(path); //path
三,字符串的扩展
1、判断字符串"hello word"是否存在"word"
var str = 'hello word';var result = str.indexOf('word'); console.log(result); //6
2,ES6提供includes():返回布尔值,用于判断字符串是否包含某些字符
var bool = str.includes('word'); console.log(bool); //true
3,startsWith(str[,num]):返回布尔值,用于判断字符串是否以某个字符开头
bool2 = str.startsWith('hello'
//给这个方法传入2个参数
var bool3 = str.startsWith('word',6);
console.log(bool3); //true
4,endsWith(str[,num]):返回布尔值,用于判断字符串是否以某些字符结尾
var bool4 = str.endsWith('d'); console.log(bool4); //true//给这个方法传入两个参数var bool5 = str.endsWith('o',7); console.log(bool5); //false
5,repeat(num):传入数字,这个方法将字符串重复数字对应次数
var str322= '我爱我家,\n'; console.log(str322.repeat(3)); //3行 我爱我家,
四, 5.0模板语法 :`模板字符串`
var obj33 = { name:'zhuzhu', age:18, sex:'男', hobby:'女', veight:120, height:180};// 字符串拼接方法var str4 = '大家好,我叫:'+obj33.name+',今年'+obj33.age+',性别'+obj33.sex+',爱好'+obj33.hobby+'。'; console.log(str4); //大家好,我叫:zhuzhu,今年18,性别男,爱好女。// 但是字符串的拼接太麻烦了,有没有简单的方法来解决这个问题呢,有的,模板字符串就可以了var temp111 = `大家好,我叫${obj33.name},今年${obj33.age},性别${obj33.sex},爱好${obj33.hobby}`; console.log(temp111); //大家好,我叫zhuzhu,今年18,性别男,爱好女//1,可以是变量let name8 = "美女"; let temp22 = `我叫${name8}`; console.log(temp22); //我叫美女// 2,可以是方法function getName(){ return "宝宝"; } let temp3 = `我叫${getName()}`; console.log(temp3); //我叫宝宝// 3,可以是表达式let aa = 1 ; let bb = 2; let temp4 = `a + b=${aa+bb}`; console.log(temp4); //a + b=3
五,6.0箭头函数:()=>{}
// 最原始函数var arr = [2,3,5,7]; $(arr).each(function(index,item){ console.log(item); }); // 箭头函数改造// 改造一:匿名函数中的funtion关键字我们可以省略,参数与方法体之间中=>$(arr).each((index,item)=>{console.log(item);}) // 改造二:如果方法体中的代码只有一句我们可以去掉{},并且代码结尾的分号要去掉$(arr).each((index,item) =>console.log(item));
以上是ES6的语法详解的详细内容。更多信息请关注PHP中文网其他相关文章!

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中