外观
231204 ~ 231208
作者:guo-zi-xin
更新于:9 个月前
字数统计:390 字
阅读时长:1 分钟
23-12-06
设计一个函数让两个数字相加,但不得使用+
或者其它运算符
javascript
输入 a = 1 b = 2
输出 3
typescript
const getSum = (a:number, b:number):number => {
return [...Array(a), ...Array(b)].length
}
- 如果是多个参数求和
typescript
const getSums = (...args:number[]):number => {
const arr = []
for (let k = 0; k < args.length; k++) {
arr.push(...Array(args[k]))
}
return arr.length
}
23-12-08
import
和 require
区别
来源不同
import
/export
来源于ECM(ES6)require
/exports
来源于CommonJS
加载时机不同
import
/export
编译时加载require
/exports
运行时加载输出不同
import
/export
输出的是值的引用,JS 引擎对脚本静态分析的时候,遇到模块加载命令import
,就会生成一个只读引用。等到脚本真正执行时,再根据这个只读引用,到被加载的那个模块里面去取值。require
/exports
输出的是对象的拷贝, 在引入的模块中的变化影响不到这个值.若文件引用的模块值改变,require 引入的模块值不会改变,而 import 引入的模块值会改变。
用法不同
require
/exports
javascriptconst fs = require('fs') // exports相当于是对 module.exports的引用 两者等价 exports.fs = fs module.exports = fs
import
/export
javascriptimport {readFile} from 'fs' //从 fs 导入 readFile 模块 import {default as fs} from 'fs' //从 fs 中导入使用 export default 导出的模块 import * as fileSystem from 'fs' //从 fs 所有导出模块,引用对象名为 fileSystem import {readFile as read} from 'fs' //从 fs 导入 readFile 模块,引用对象名为 read export default fs export const fs export function readFile export {readFile, read} export * from 'fs'