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 引入模块的方法对比的更多相关文章

  1. python小知识- webbrowser模块 + join()方法

    一.join描述 将序列中的元素以指定的字符连接生成一个新的字符串. 语法 语法: ‘sep’.join(seq) 参数说明: sep:分隔符.可以为空 seq:要连接的元素序列.字符串.元组.字典 ...

  2. python三种导入模块的方法和区别

    方法一: import modname 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段.只要导入了一个模块,就可以引用它的任何公共的函数.类或属性.模块可以通过这种方法来 使用其它 ...

  3. python三种导入模块的方法

    做为python初学者,有时候搞不清楚导入模块的作用. 直接导入模块 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py"." ...

  4. 用mixin引入模块后, 方法重名的解析方法

    关于mixin, 经常被问到一个问题是, 方法查找是如何处理的? 特别地, 如果类, 父类, 以及类所包含的mixin中, 都定义有相同名字的方法时, 会发生什么? 答案是, ruby首先会从对象的直 ...

  5. javascript的模块开发方法;

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. python环境搭建-Pycharm模块安装方法

    不懂直接看图顺序操作: 方法一: 方法二:

  7. Python中re(正则表达式)模块使用方法

    Python中常用的正则表达式处理函数: re.match re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词. import re text = "JGood ...

  8. Python 执行 javascript PyExecJS 模块

    PyExecJS 安装 pip install PyExecJS PyExecJS 的基本使用: >>> import execjs >>> execjs.eval ...

  9. Python3 引入模块的方法

    例子 import random 产生随机整数 import random secret = random.randint(0,10)

随机推荐

  1. Thread&ThreadPool、Parallel、Async和Await用法总结

    1.线程和线程池Thread&ThreadPool //线程初始化时执行方法可以带一个object参数,为了传入自定义参数,所以执行需单独调用用于传参. Console.WriteLine(& ...

  2. firefly rk3399 增加 HL-340 驱动(编译内核)

    前言:新下载了firefly rk3399 ubuntu固件16.04,但是发现没有HL-340 USB转串口的驱动,而机器人底盘驱动是HL-340的,所以一直提示无法找到设备驱动. 由于没有技术支持 ...

  3. vue 复制文本到剪切板上

    1.下载clipboard.js npm install vue-clipboard2 --save 2.引入,可以在mian.js中全局引入也可以在单个vue中引入 import Clipboard ...

  4. Java 常用知识点汇总(数据类型之间转换、字符串的相关操作-截取、转换大小写等)

    1.Java四类八种数据类型 byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围- ...

  5. 1小时搞定vuepress快速制作vue文档/博客+免费部署预览

    先来一下演示效果.和vue的官方文档几乎是一致的,页面内容都可自定义. 此教程部署后的效果预览. 在你跟着教程搭建好项目之后,你会收获: 快速搭建一个文档/博客,后期只需要修改markdown内容和导 ...

  6. sql 简单分页查询(ror_number() over)

    SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY ID DESC ) AS r_num FROM (select * from #table ...

  7. C#集合中根据多个字段分组 group by linq表达式

    void Main() { var empList =new List<Employee> { , FName = , Sex = 'M'}, , FName = , Sex = 'F'} ...

  8. Java内功心法,创建型设计模式包括哪些

    1. 单例(Singleton) Intent 确保一个类只有一个实例,并提供该实例的全局访问点. Class Diagram 使用一个私有构造函数.一个私有静态变量以及一个公有静态函数来实现. 私有 ...

  9. 2019 大众书网Java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.大众书网等公司offer,岗位是Java后端开发,因为发展原因最终选择去了大众书网,入职一年时间了,也成为了面 ...

  10. v-text和v-html绑定数据显示

    1.v-text:相当有js的$("#root").text(); 2.v-html 相当于js的$("#root").html(); 3.插值赋值的数据会被v ...