JavaScript学习笔记026-Symbol0Proxy0Module
时间:2022-06-11
本文章向大家介绍JavaScript学习笔记026-Symbol0Proxy0Module,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Author:Mr.柳上原
- 付出不亚于任何的努力
- 愿我们所有的努力,都不会被生活辜负
- 不忘初心,方得始终
今天听到咱学院的一首歌
很是激励人心
古潭州 源流长 书院镇潇湘 到如今 薪火旺 再铸新辉煌 跨深壑 品类广 传道授业忙 攀险峰 传奇唱 续写新篇章 风雨同舟 江湖共闯 劈破万里浪 相伴有你 日月光芒 将前途照亮 夙兴夜寐 心念联网 只为学员想 相伴有你 携手图强 奋斗在路上 筑平台 伟业昌 悲欢众担当 虹之玉 各一方 甘苦齐分尝 风雨同舟 江湖共闯 劈破万里浪 相伴有你 日月光芒 将前途照亮 夙兴夜寐 心念联网 只为学员想 相伴有你 携手图强 奋斗在路上
谢谢你成就我的梦想
<!DOCTYPE html> <!-- 文档类型:标准html文档 -->
<html lang='en'> <!-- html根标签 翻译文字:英文 -->
<head> <!-- 网页头部 -->
<meat charset='UTF-8'/> <!-- 网页字符编码 -->
<meat name='Keywords' content='关键词1,关键词2'/>
<meat name='Description' content='网站说明'/>
<meat name='Author' content='作者'/>
<title>前端59期学员作业</title> <!-- 网页标题 -->
<link rel='stylesheet' type='text/css' href='css/css1.css'/> <!-- 外链样式表 -->
<style type='text/css'> /*内部样式表*/
</style>
</head>
<body> <!-- 网页主干:可视化区域 -->
<script>
/*
Symbol:
Symbol创建的值,在js里是独一无二的
*/
// Symbol的用法
let a = Symbol(123); // Symbol(123)
let b = Symbol(123); // Symbol(123)
a !== b;
// Symbol.for创建的值不是独一的
let a = Symbol.for(123);
let b = Symbol.for(123);
a === b;
// Symbol的其他值可以显示转化为布尔值和字符串,但是不能转化为数字
// Symbol对象访问
let c = Symbol();
let d = {
[c]: 1,
c: 2
} // d.c = 2,d[c] = Symbol(1)
/*
proxy:
代理器,拦截器
用于修改某些操作的默认行为
*/
// proxy的用法
let obj1 = {
a: 1,
b: 2,
}
let obj2 = new Proxy(obj1, {
get(target, key){
console.log(target); // obj1本身
console.log(key); // obj1的键
// 拦截obj1的值,return出去什么值,下面取到的就是什么值
// return 123;
return target[key];
}
set(target, key, value){
console.log(target); // obj1本身
console.log(key); // obj1的键
console.log(value); // obj1的值
}
})
obj1.a;
obj1.b; // 当在get里写入数据时,不管obj1里的值是什么,都只会输出get里的数据
obj1.a = 11;
obj1.b = 22;
// 注意:Proxy代理的情况下,被代理的目标内部的this指向会指向Proxy代理
/*
Module:
模块
es6的模块自动使用严格模式("use strict")
模块功能主要命令:
export
import
*/
// export:用于规定模块的对外接口
// export输出变量的写法一:
// a.js
export let a = 1;
export let b = 2;
// export输出变量的写法二:
// profile.js
let a = 1;
let b = 2;
export {a, b}
//export规定的是对外的接口,必须模块内部的变量建立一一对应关系
// export输出的接口,与其对应的值是动态绑定关系,通过该接口,可以取到模块内部实时的值
// import:用于输入其他模块提供的功能
// 使用export定义了模块对外接口后,其他js文件就可以通过import命名加载这个模块
// b,js
import{a, b} from "./a.js";
function setNumber(element){
element.textContent = a + ' ' + b;
}
// 注意:import具有提升效果,会提升到整个模块的头部首先执行
// 由于import是静态执行,所以不能使用表达式或变量这些只有运行时才能得到结果的语法结构
</script>
</body>
</html>
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 字典树 Krains 2020-09-01
- redis学习(十)
- vue修改浏览器的标题title
- 天天基金网数据接口
- Centos7实现开机自启EasySwoole
- input内文字与光标的初始位置调整
- 小程序push、unshift、concat
- mac下导出chrome插件及安装
- Job 资源对象
- ReplicaSet && DaemonSet 资源对象
- 批量执行crontab指定条目的注释和解注释
- Rancher集群部署后需要做的几件事
- Ingress(Nginx)日志持久化与可视化(多图预警)
- .Net在Windows上使用Jenkins做CI/CD的那些事
- 【STM32H7】第9章 RL-TCPnet调试方法(Event Recorder和串口两种)