尚学堂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. 构造方法 ...
随机推荐
- Nginx作为代理服务之正反代理
Nginx作为代理服务之正反代理 首先什么是代理,就跟明星的经纪人类似,比如作为苍老师经纪人的我,如果你们需要和苍老师拍小电影,可以跟我这个经纪人来商量比如价格啊,时间等相关信息,那么我就作为一个代理 ...
- MySql学习笔记【四、数据相关操作】
CURD--增改查删 创建数据 INSERT [INTO] tb_name [(col_name,...)] VALUES(val,..) 若列名缺省,表示插入全部列,也可指定部分列名 如: INSE ...
- MySql学习笔记【三、表相关操作】
创建表 CREATE TABLE [IF NOT EXISTS] table_name( column_name data_type, ... ) 如: CREATE TABLE test_table ...
- QQ空间添加背景音乐
QQ空间背景音乐方式 1.QQ音乐添加背景音乐一种是开通绿砖[有矿的忽略此条]2.QQ空间添加网络音乐的方法步骤:1.首先,需要先下载好想要音乐作为QQ空间背景音乐的歌曲文件(建议为MP3格式)[我这 ...
- Python 3 中字符串和 bytes 的区别
在Python中字符串和unicode真是傻傻分不清楚,在没搞懂两个区别时,你会发现程序报的错怎么改都是再报错,让你烦躁. 学习Python的时候,又重温了这部分内容,写了这个学习笔记. Python ...
- 十五,K8S集群调度原理及调度策略
目录 k8s调度器Scheduler Scheduler工作原理 请求及Scheduler调度步骤: k8s的调用工作方式 常用预选策略 常用优先函数 节点亲和性调度 节点硬亲和性 节点软亲和性 Po ...
- 八,kubernetes集群存储卷基础。
目录 存储卷 存储的分类 emptyDir 测试及使用 hostpath实例 Pod测试挂在共享NFS 写测试清单 测试 pv, pvc 创建几个PV 创建测试的Pod 和 PVC 存储卷 pod运行 ...
- 特殊字符的过滤方法,防sql防注入代码的过滤方法
特殊字符的过滤方法 function strFilter($str){ //特殊字符的过滤方法 $str = str_replace('`', '', $str); $str = str_replac ...
- MySQL Audit日志审计
一.简介 数据库审计能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库受到的风险行为进行告警,对攻击行为进行阻断,它通过对用户访问数据库行为的记录.分析和汇报,用来帮助用 ...
- 数据管理必看!Kendo UI for jQuery过滤器的全球化
Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...