【ES6+】008
【ES6+】008
1、umber.EPSILO
umber.EPSILO 是 JavaScript 表示的最小精度;
EPSILO 属性的值接近于 2.22044604925010808472661816E-16;
2、二进制和八进制
ES6 提供了二进制和八进制数值的新的写法,分别用前缀 0b 和 0o 表示;
、umber.isFinite() 与 umber.isa()
umber.isFinite() 用来检查一个数值是否为有限的;
umber.isa() 用来检查一个值是否为 a;
4、umber.parseInt() 与 umber.parseFloat()
ES6 将全局方法 parseInt 和 parseFloat,移植到 umber 对象上面,使用不变;
5、
用于去除一个数的小数部分,返回整数部分;
6、umber.isInteger
umber.isInteger() 用来判断一个数值是否为整数;
7、代码实现和相关说明
代码实现:
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>数值扩展</title>
</head>
<body>
<script>
// 数值扩展
// 0. umber.EPSILO 是 JavaScript 表示的最小精度
// EPSILO 属性的值接近于 2.22044604925010808472661816E-16
// function equal(a, b){
// return Math.abs(a-b) < umber.EPSILO;
// }
cole.log("0、umber.EPSILO 是 JavaScript 表示的最小精度");
// 箭头函数简化写法
equal = (a, b) => Math.abs(a-b) < umber.EPSILO;
cole.log(0.1 + 0.2);
cole.log(0.1 + 0.2 === 0.); // false
cole.log(equal(0.1 + 0.2, 0.)); // true
// 1. 二进制和八进制
cole.log("1、二进制和八进制");
let b = 0b1010;
let o = 0o777;
let d = 100;
let x = 0xff;
cole.log(x);
// 2. umber.isFinite 检测一个数值是否为有限数
cole.log("2、umber.isFinite 检测一个数值是否为有限数");
cole.log(umber.isFinite(100));
cole.log(umber.isFinite(100/0));
cole.log(umber.isFinite(Infinity));
// . umber.isa 检测一个数值是否为 a
cole.log(". umber.isa 检测一个数值是否为 a");
cole.log(umber.isa(12));
// 4. umber.parseInt umber.parseFloat字符串转整数
cole.log("4. umber.parseInt umber.parseFloat字符串转整数");
cole.log(umber.parseInt('521114love'));
cole.log(umber.parseFloat('.1415926神奇'));
// 5. umber.isInteger 判断一个数是否为整数
cole.log("5. umber.isInteger 判断一个数是否为整数");
cole.log(umber.isInteger(5));
cole.log(umber.isInteger(2.5));
// 6. 将数字的小数部分抹掉
cole.log("6. 将数字的小数部分抹掉 ");
cole.log((.5));
// 7. Math.sign 判断一个数到底为正数 负数 还是零
cole.log("7. Math.sign 判断一个数到底为正数 负数 还是零");
cole.log(Math.sign(100));
cole.log(Math.sign(0));
cole.log(Math.sign(-20000));
</script>
</body>
</html>
运行结果:
1、概述
ES6 新增了一些 Object 对象的方法:
- Object.is 比较两个值是否严格相等,与『===』行为基本一致(+0 与 a);
- Object.assign 对象的合并,将源对象的所有可枚举属性,复制到目标对象;
- proto、setPrototypeOf、 setPrototypeOf 可以直接设置对象的原型;
2、代码实现及相关说明
代码实现:
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>对象扩展</title>
</head>
<body>
<script>
// 对象扩展
// 1. Object.is 比较两个值是否严格相等,与『===』行为基本一致(+0 与 a);
cole.log(Object.is(120,120)); // ===
// 注意下面的区别
cole.log(Object.is(a,a));
cole.log(a === a);
// a与任何数值做===比较都是false,跟他自己也如此!
// 2. Object.assign 对象的合并,将源对象的所有可枚举属性,复制到目标对象;
ct config1 = {
host : "localhost",
port : 06,
name : "root",
pass : "root",
test : "test" // 唯一存在
}
ct config2 = {
host : ";,
port : 0000600,
name : "root4444",
pass : "root4444",
test2 : "test2"
}
// 如果前边有后边没有会添加,如果前后都有,后面的会覆盖前面的
cole.log(Object.assign(config1,config2));
// . __proto__、setPrototypeOf、 getPrototypeOf 可以直接设置对象的原型;
ct school = {
name : "尚硅谷"
}
ct cities = {
xiaoqu : ['北京','上海','深圳']
}
// 并不建议这么做
Object.setPrototypeOf(school,cities);
cole.log(Object.getPrototypeOf(school));
cole.log(school);
</script>
</body>
</html>
运行结果:
1、概述
模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来;
2、模块化的好处
模块化的优势有以下几点:
- 防止命名冲突;
- 代码复用;
- 高维护性;
、模块化规范产品
ES6 之前的模块化规范有:
- CommonJS => odeJS、Browserify;
- AMD => requireJS;
- CMD => seaJS;
4、ES6 模块化语法
模块功能主要由两个命令构成:export 和 import;
- export 命令用于规定模块的对外接口(导出模块);
- import 命令用于输入其他模块提供的功能(导入模块);
5、简单使用
m.js(导出模块):
代码语言:javascript代码运行次数:0运行复制export let school = "尚硅谷";
export function teach(){
cole.log("我们可以教你开发技术!");
}
模块化.html(导入和使用模块):
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>模块化</title>
</head>
<body>
<script type="module">
// 引入m.js模块内容
import * as m from "./js/m.js";
cole.log(m);
cole.log(m.school);
();
</script>
</body>
</html>
运行结果:
6、ES6暴露数据语法汇总
m.js(逐个导出模块):
代码语言:javascript代码运行次数:0运行复制// 分别暴露(导出)
export let school = "尚硅谷";
export function teach(){
cole.log("我们可以教你开发技术!");
}
n.js(统一导出模块):
代码语言:javascript代码运行次数:0运行复制// 统一暴露(导出)
let school = "尚硅谷";
function findJob(){
cole.log("我们可以帮你到好工作!");
}
export {school,findJob}
o.js(默认导出模块):
代码语言:javascript代码运行次数:0运行复制// 默认暴露(导出)
export default{
school : "尚硅谷",
change : function(){
cole.log("我们可以帮你改变人生!");
}
}
模块化.html(引入和使用模块):
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>模块化</title>
</head>
<body>
<script type="module">
// 引入m.js模块内容
import * as m from "./js/m.js";
cole.log(m);
cole.log(m.school);
();
// 引入n.js模块内容
import * as n from "./js/n.js";
cole.log(n);
cole.log(n.school);
n.findJob();
// 引入o.js模块内容
import * as o from "./js/o.js";
cole.log(o);
// 注意这里调用方法的时候需要加上default
cole.log(o.default.school);
o.();
</script>
</body>
</html>
运行结果:
7、ES6导入模块语法汇总
模块化.html:
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>模块化</title>
</head>
<body>
<script type="module">
// 通用方式
// 引入m.js模块内容
import * as m from "./js/m.js";
cole.log(m);
cole.log(m.school);
();
// 引入n.js模块内容
import * as n from "./js/n.js";
cole.log(n);
cole.log(n.school);
n.findJob();
// 引入o.js模块内容
import * as o from "./js/o.js";
cole.log(o);
// 注意这里调用方法的时候需要加上default
cole.log(o.default.school);
o.();
// 解构赋值形式
import {school,teach} from "./js/m.js";
// 重名的可以使用别名
import {school as xuexiao,findJob} from "./js/n.js";
// 导入默认导出的模块,必须使用别名
import {default as one} from "./js/o.js";
// 直接可以使用
cole.log(school);
teach();
cole.log(xuexiao);
cole.log(one);
cole.log(one.school);
();
// 简便形式,只支持默认导出
import oh from "./js/o.js";
cole.log(oh);
cole.log(oh.school);
();
</script>
</body>
</html>
运行结果:
8、使用模块化的另一种方式
将js语法整合到一个文件app.js:
代码语言:javascript代码运行次数:0运行复制// 通用方式
// 引入m.js模块内容
import * as m from "./m.js";
cole.log(m);
cole.log(m.school);
();
使用模块化的另一种方式.html:
代码语言:javascript代码运行次数:0运行复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用模块化的另一种方式</title>
</head>
<body>
<script src="./js/app.js" type="module"></script>
</body>
</html>
运行结果:
1、概述
Babel 是一个 JavaScript 编译器;
Babel 能够将新的ES规范语法转换成ES5的语法;
因为不是所有的浏览器都支持最新的ES规范,所以,一般项目中都需要使用Babel进行转换;
步骤:使用Babel转换JS代码——打包成一个文件——使用时引入即可;
2、步骤
第一步:安装工具babel-cli(命令行工具) babel-preset-env(ES转换工具) browserify(打包工具,项目中使用的是webpack);
第二步:初始化项
代码语言:javascript代码运行次数:0运行复制npm init -y
第三步:安装
代码语言:javascript代码运行次数:0运行复制npm i babel-cli babel-preset-env browserify
第四步:使用babel转换
代码语言:javascript代码运行次数:0运行复制npx babel js(js目录) -d dist/js(转化后的js目录) --presets=babel-preset-env
第五步:打包
代码语言:javascript代码运行次数:0运行复制npx browserify dist/js/app.js -o dist/bundle.js
第六步:在使用时引入bundle.js
代码语言:javascript代码运行次数:0运行复制<script src="./js/bundle.js" type="module"></script>
、转换前后对比
转换前:
代码语言:javascript代码运行次数:0运行复制//分别暴露
export let school = '尚硅谷';
export function teach() {
cole.log("我们可以教给你开发技能");
}
转换后:
代码语言:javascript代码运行次数:0运行复制"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
= teach;
//分别暴露
var school = exports.school = '尚硅谷';
function teach() {
cole.log("我们可以教给你开发技能");
}
1、演示
第一步:安装jquery
代码语言:javascript代码运行次数:0运行复制npm i jquery
第二步:在app.js使用jquery
代码语言:javascript代码运行次数:0运行复制//入口文件
//修改背景颜为粉
import $ from 'jquery';// 相当于ct $ = require("jquery");
$('body').css('background','pink');
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除npmbabelcole对象模块化 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 9 条评论) |
本站网友 botox注射除皱价格 | 27分钟前 发表 |
"; | |
本站网友 电子义眼 | 21分钟前 发表 |
'上海' | |
本站网友 麝香是什么 | 6分钟前 发表 |
'深圳'] } // 并不建议这么做 Object.setPrototypeOf(school | |
本站网友 健瞳训练仪 | 18分钟前 发表 |
Babel对ES6模块化代码转换1 | |
本站网友 瞳孔颜色 | 26分钟前 发表 |
06 | |
本站网友 除老年斑 | 9分钟前 发表 |
port | |
本站网友 玄晕症 | 16分钟前 发表 |
拆分成许多小的文件 | |
本站网友 亚硝酸钠毒性 | 5分钟前 发表 |
0.)); // true // 1. 二进制和八进制 cole.log("1 |