尚学堂requireJs课程---2、模块
尚学堂requireJs课程---2、模块
一、总结
一句话总结:
# 将代码以及使用放到独立的闭包中去,并且赋值给了变量,便于外部访问
# return出了函数和变量(放在一个json对象中)
# 百度的webuploader应该就是这么搞的,require.js的最基础原理也是这个
# 搞那么复杂就是为了解决一个作用域的问题
// 模块!
var module = (function(){ var Demo = { }
var hello = "hello"; function userInfo(){
var name = "iwen";
var age = 20;
console.log(name);
} return {
userInfo:userInfo,
hello:hello
} })();
console.log(module.hello);
module.userInfo();
1、js中通过对象实现变量不至于直接挂载到全局(缺点是外部可以修改,不符合开闭原则)?
用对象来定义变量
var infoObj = {
name:"iwen",
age:20,
sex:"男"
}
// 不至于直接挂载到全局
console.log(infoObj.age);
infoObj.age = 30;
console.log(infoObj.age);
2、js作用域独立实例(外部不能修改,问题是外部无法使用)?
将代码以及使用放到独立的闭包中去
(function(){
function userInfo(){
var name = "iwen";
var age = 20;
return {
name:name,
age:age
}
}
console.log(userInfo().age);
var info = userInfo()
console.log(info.name);
})();
3、js模块实例(在js作用域独立的基础上赋值给变量,便于外部访问)?
# 将代码以及使用放到独立的闭包中去,并且赋值给了变量,便于外部访问
# return出了函数和变量(放在一个json对象中)
# 百度的webuploader应该就是这么搞的,require.js的最基础原理也是这个
# 搞那么复杂就是为了解决一个作用域的问题
// 模块!
var module = (function(){ var Demo = { }
var hello = "hello"; function userInfo(){
var name = "iwen";
var age = 20;
console.log(name);
} return {
userInfo:userInfo,
hello:hello
} })();
console.log(module.hello);
module.userInfo();
二、内容在总结中
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body> <script type="text/javascript">
/*
模块
设计模式规范:
开闭原则:对扩展开放,对修改关闭
*/ // var infoObj = {
// name:"iwen",
// age:20,
// sex:"男"
// }
// // 不至于直接挂载到全局
// console.log(infoObj.age);
// infoObj.age = 30;
// console.log(infoObj.age); // 作用域独立
// (function(){
// function userInfo(){
// var name = "iwen";
// var age = 20;
// return {
// name:name,
// age:age
// }
// }
// console.log(userInfo().age);
// var info = userInfo()
// console.log(info.name);
// })(); // 模块!
var module = (function(){ var Demo = { }
var hello = "hello"; function userInfo(){
var name = "iwen";
var age = 20;
console.log(name);
} return {
userInfo:userInfo,
hello:hello
} })();
console.log(module.hello);
module.userInfo(); </script> </body>
</html>
尚学堂requireJs课程---2、模块的更多相关文章
- 尚学堂requireJs课程---3、私有和公有属性和方法
尚学堂requireJs课程---3.私有和公有属性和方法 一.总结 一句话总结: 在 [模块] 的基础上,在return对象里面的方法和属性就是公有的(因为外部可以访问),不在的就是私有的 < ...
- 尚学堂requireJs课程---1、作用域回顾
尚学堂requireJs课程---1.作用域回顾 一.总结 一句话总结: 尚学堂的课程的资料他的官网上面是有的 1.js作用域? ~ js中是函数作用域:局部变量的话要写var关键词 ~ 闭包可以解决 ...
- [JAVA教程] 2016年最新spring4框架搭建视频教程 【尚学堂】
Spring4框架 主讲:邹波 类型:SSH 适合对象:学习完javase.数据库技术.jdbc者 Spring4.0作为一个广泛使用的开源框架,它由Rod Johnson创建.它是为了解决企业应用开 ...
- 尚学堂Java第一课
今天是北京尚学堂郑州分校开课的第一天,小班面授教学. 我很兴奋,是一个小白对IT大神渴求传道授业解惑的兴奋. 杨老师还是一贯耐心详细的手敲了第一堂课的完整大纲,必须给杨老师赞赞赞!!! 从幽默的制定班 ...
- 尚学堂马士兵struts2 课堂笔记(一)
06_尚学堂马士兵_Struts2_Struts2_HelloWorld_5 <constant name="struts.devMode" value="true ...
- SVN和Git的功能和区别,尚学堂SVN和Git学习视频资料免费下载
对于软件开发人员来说,版本控制系统再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.目前常见的版本控制系统分为集中式版本控制系统(SVN)和分布式版本控制 ...
- 又到毕业季,尚学堂喊你免费领取100个Java毕设项目(含源码视频),限时一周哦!
你还在为毕设发愁?不知道该如何命题?不知道从哪里下手?担心毕设过不了影响毕业? 尚学堂首家隆重推出了刷爆朋友圈的毕设100个项目,别说你还没去下载观看!!最最重要的是:免费!免费!免费!而且限时一周! ...
- 《尚学堂_史上最易懂的设计模式视频》--章节3 Iterator迭代 模拟列表
广州尚学堂官网-|广州Java培训|Java培训机构|人工智能+Python培训|PHP培训|全栈工程师培训|UI设计培训|前端移动开发培训http://www.gzsxt.cn/ ==Iterato ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
随机推荐
- vue学习(2)-过滤器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 查看磁盘空间,Android各目录讲解
dfFilesystem Size Used Free Blksize/dev 2.0G 116.0K 2.0G 4096----------包含了所有Linux系统中使用的外部设备/sys/fs/c ...
- SokcetClient c++
#include "pch.h" #include "SokcetClient.h" #include <iostream> #include &l ...
- MFC的一些常用操作
一.添加消息 MFC和win32不同的一点是MFC采用的是消息的映射机制,即每一个消息都和处理的函数做了映射,我们可以通过查找的方式来得到消息的对应的函数,当然MFC提供了一个非常简便的方法,我们通过 ...
- xampp下载和使用
XAMPP 下载地址: XAMPP HTML存放目录,也就是根目录,可以在这个目录进行添加HTML文件和PHP文件. C:\xampp\htdocs 访问web,localhost:80或者直接访问l ...
- Scala(一)——基本类型
Scala语言快速入门(基本类型) (参考视频:av39126512,韩顺平281集scala精讲) 一.Linux和Windows环境安装 这部分跳过,直接使用IDEA进行搭建,和其他编程语言配置差 ...
- PAT Basic 1051 复数乘法 (15 分)
复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1:也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (. 现给定两 ...
- python的索引与切片和元祖
'''索引: 1.索引从0开始 2.末尾元素为 -1 3.能被for循环,有序的数据集合 切片: 1.顾头不顾尾 2.a = "123abcdfg" print(a[0::2]) ...
- 第十五届四川省省赛 SCU - 4439 Vertex Cover
给你一个一般图 保证每条边的一端下标不大于30 问最小覆盖集的大小为多少 爆搜:枚举前30个点是否在覆盖集内 剪枝1:如果不在的话 那么他所连的下标大于30的点都必须选 剪纸2:最优解剪枝 #incl ...
- 如何在VPC中安装Ubuntu
在虚拟机 VPC2007 中安装Ubuntu 方法A:(断网络连接) 1.用载入ISO镜像启动一台标准的 xp设置的虚拟机 2.按 F4 选择启动模式,选择图形模式并确认. 3.按 F6 在启动配置中 ...