python与javascript 引入模块的方法对比
1、引入整体模块对比
python
方法一:
# 引入全部函数
from xxx import * # 直接使用模块里面的各函数或者属性
test()
方法二:
# 引入全局的模块
import globalModules # 使用
globalModules.xxxx
javascript
# 引入
import * as custom from 'xxx' # 使用
custom.xxxx 注意:此类引入,只能是js 利用export 导出,而非export default
2、引入模块中具体的函数或者属性
python
# 引入全部函数
from xxx import test1,test2 # 直接使用模块里面的各函数或者属性
test1()
test2()
javascript
情况1:引入具名的函数或者属性,需要加括号
// 引入
import { test1 } from 'xxx'
// 使用
test1()
情况2:引入导出为default的模块,不需要加括号
// 引入
import test1 from 'xxx'
// 使用
test1()
3、其他
javascript 中的
import 'xxx'
仅仅代表执行这个模块,不引入模块中的具体的函数或者其他属性等!而python 则代表 直接引入模块的全部,并且可以使用模块的所有的属性!!!
最新的es中又有import() 这种动态加载(import xxx from 'xxx.js' 为静态加载,姑且可以理解为引入模块后最先加载,优先于执行下面的代码!!!)
button.addEventListener('click', event => {可以实现按需加载等功能!!!
import('./dialogBox.js')
.then(dialogBox => {
dialogBox.open();
})
.catch(error => {
/* Error handling */
})
});
例:

---------------------------------------------更新于2020年3月1日---------------------------------------------
1、javascript的导出,如果放在最后面导出,则必须加大括号!
2、javascript的模块理论上被引入后,只能读取不能更改,但是如果导出的是一个对象,则可以改对象的值!不过,这种写法很难查错,建议凡是输入的变量,都当作完全只读,不要轻易改变它的属性。
当然,也有模块可以被更改的情况,那么就要注意,加入有a ,b ,c 三个模块,如果b模块引入a模块后,把a模块某个属性更改了,那么c 模块引用a 模块的时候,a模块里面的属性应该是更改之后的!
3、javascript的模块 import命令是编译阶段执行的,在代码运行之前。
4、如果是export {} 这种方式导出,则import 的时候可以用 import xxx from '.xxx/js' 或者 使用import { xxx, xxx } from '.xxx.js'(这种方式得“点”出来,区别于export default 不需要点出来) ,两种方式都可以 !!!
通常:
我们用export {} 导出, 然后用import {} from 'xxx' 导入。
我们用export deault 变量 导出, 然后用import xxx from 'xxx' 来引入。
python与javascript 引入模块的方法对比的更多相关文章
- python小知识- webbrowser模块 + join()方法
一.join描述 将序列中的元素以指定的字符连接生成一个新的字符串. 语法 语法: ‘sep’.join(seq) 参数说明: sep:分隔符.可以为空 seq:要连接的元素序列.字符串.元组.字典 ...
- python三种导入模块的方法和区别
方法一: import modname 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段.只要导入了一个模块,就可以引用它的任何公共的函数.类或属性.模块可以通过这种方法来 使用其它 ...
- python三种导入模块的方法
做为python初学者,有时候搞不清楚导入模块的作用. 直接导入模块 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py"." ...
- 用mixin引入模块后, 方法重名的解析方法
关于mixin, 经常被问到一个问题是, 方法查找是如何处理的? 特别地, 如果类, 父类, 以及类所包含的mixin中, 都定义有相同名字的方法时, 会发生什么? 答案是, ruby首先会从对象的直 ...
- javascript的模块开发方法;
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python环境搭建-Pycharm模块安装方法
不懂直接看图顺序操作: 方法一: 方法二:
- Python中re(正则表达式)模块使用方法
Python中常用的正则表达式处理函数: re.match re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词. import re text = "JGood ...
- Python 执行 javascript PyExecJS 模块
PyExecJS 安装 pip install PyExecJS PyExecJS 的基本使用: >>> import execjs >>> execjs.eval ...
- Python3 引入模块的方法
例子 import random 产生随机整数 import random secret = random.randint(0,10)
随机推荐
- 微信企业号SDK
1. 微信企业号SDK class class_wxqiye { var $corpid = CorpID; var $corpsecret = CorpSecret; var $agentid = ...
- CUDA编程学习笔记1
CUDA编程模型是一个异构模型,需要CPU和GPU协同工作. host和device host和device是两个重要的概念 host指代CPU及其内存 device指代GPU及其内存 __globa ...
- 使用thanos管理Prometheus持久化数据
关于thanos的介绍可以参考这篇官方博客的翻译文档,本文不作部署操作介绍.下图是thanos的官方架构图,主要有5个组件: Query:可以近似看作是Prometheus的实现,用于采集其他组件的数 ...
- C# do...while循环
一.简介 在for和while的循环是在头部写测试循环条件,而do....while的循环是在循环的尾部写测试条件 do...while的循环和while的类似,但是do...while的最少执行一次 ...
- ASP.NET MVC中Log4Net记录错误日志的使用
第一.在管理NuGet程序包 =>下载 Log4Net 第二.在web.config配置Log4Net 1:在<configuration>节点下 <configSection ...
- P3028 汽水机(差分)
题目 P3028 [USACO10OCT]汽水机Soda Machine 解析 差分,看到\(a[i]\leq 1e9\),离散化一下,在\(l\)处\(+1\),\(r+1\)处\(-1\),这样就 ...
- English--元音
English|元音 在一开始学习英语的时候,最需要掌握的就是音标.所以需要从音标的元音开始,并且不局限于掌握音标的元音与辅音,大家可以参考下英文版发音课,并不知道只学习元音与辅音,还有各种弱读连读等 ...
- SQL Server Compact 3.5环境部署<转>
通过使用 Microsoft Visual Studio 开发环境,可以开发使用 SQL Server Compact 3.5 的应用程序.Visual Studio 是开发和部署使用 SQL Ser ...
- logger(一)slf4j简介及其实现原理
一.slf4j简介 slf4j(Simple logging facade for Java)是对所有日志框架制定的一种规范.标准.接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体 ...
- 超强的Lambda Stream流操作
原文:https://www.cnblogs.com/niumoo/p/11880172.html 在使用 Stream 流操作之前你应该先了解 Lambda 相关知识,如果还不了解,可以参考之前文章 ...