javascript数据类型,定义方法,(工厂模式及闭包的应用)
js数据类型分为两大类:一 值类型
二 引用类型
一 值类型 string number boolean null undefined
eg:
var str = 'aaa'
var num = 123
var bool = true
var n = null
var und = undefined console.log(typeof str) //string
console.log(typeof num) //number
console.log(typeof bool) //boolean
console.log(typeof n) //object
console.log(typeof und) //undefined
二 引用类型 Array object function
//创建Array的三种方式
//第一种
var arr = new Array()
arr[0] ='aa'
arr[1] = 'bb'
arr[2] = 'cc'
console.log(arr) //[ 'aa', 'bb', 'cc' ]
//第二种
var arr = new Array('aa', 'bb', 'cc')
//第三种
var arr = ['aa','bb','cc']
eg:object
//创建object的三种方式
//第一种
var preson = new Object()
preson.name = '张三'
preson['age'] = 20 // 方括号中的键名加引号,否则会报错
console.log(preson) // { name: '张三', age: 20 } //第二种 字面量
var preson_one = {}
preson_one.name = 'jack'
preson_one.action = function(){
console.log(this.name) //jack
}
preson_one.action()
console.log(preson_one) //{ name: 'jack', action: [Function] }
//嵌套字面量 简写形式
var preson1 = {
name: 'jack',
action: function(){
console.log(this.name) //jack
}
}
preson1.action() //第三种 工厂模式
function createobj(name){
//原材料
var obj = new Object()
// 加工
obj.name = name
obj.fun = function(){
console.log(this.name)
}
return obj
}
var a = createobj('李四')
a.fun()
console.log(a) //第四种 构造函授
function createobj2(name){
this.name = name
this.fun = function(){
console.log(this.name)
}
}
var a2 =new createobj2('大王')
a2.fun() //第五种 公有和私有 闭包的应用
function preson3(name){
//私有
var name = name
var fun = function(){
console.log(name)
}
return{ //公有 //闭包
say:fun
}
}
var a3 = preson3("小美")
a3.say()
eg:function
//function
//第一种 函数定义
function eg(){
alert(123)
}
eg() //第二种 函数表达式
var eg2 = function (){
alert(456)
}
eg2() //函数表达式只能在函数后面调用
javascript数据类型,定义方法,(工厂模式及闭包的应用)的更多相关文章
- javascript创建对象的方法--工厂模式(非常好理解)
javascript创建对象的方法--工厂模式(非常好理解) 一.简介 创建对象的方法 本质上都是把"属性"和"方法",封装成一个对象 创建对象的基本模式 普通 ...
- javascript 面向对象编程(工厂模式、构造函数模式、原型模式)
javascript 面向对象编程(工厂模式.构造函数模式.原型模式) CreateTime--2018年3月29日17:09:38 Author:Marydon 一.工厂模式 /** * 工厂模 ...
- javascript创建对象的方法--组合模式
javascript创建对象的方法--组合模式 一.总结 0.作用:解决原型模式对象独有属性创建麻烦的问题 1.组合模式使用普遍:jquery就是用的组合模式,组合模式使用非常普遍 2.组合模式优点: ...
- javascript创建对象的方法--原型模式
javascript创建对象的方法--原型模式 一.总结 1.原型模式解决内存浪费的方法(继承):通过继承,对象继承原型模式下的所有属性,对象不同于其它对象的的属性自己创建或者修改 2.原型的使用(p ...
- javascript创建对象的方法--构造函数模式
javascript创建对象的方法--构造函数模式 一.总结 构造函数模式作用和不足 1.作用:解决工厂模式不是用new关键字来创建对象的弊端 2.作用:解决工厂模式创建的实例和模型没有内在联系的问题 ...
- JavaScript 函数定义方法
JavaScript 函数定义方法. 函数声明 在之前的教程中,你已经了解了函数声明的语法 : function functionName(parameters) { 执行的代码 } 函数声明后不会立 ...
- 【读书笔记】读《JavaScript设计模式》之工厂模式
一个类或对象中往往会包含别的对象.在创建这种成员对象时,你可能习惯于使用常规方式,也即用new关键字和类构造函数.问题在于这回导致相关的两个类之间产生依赖性. 工厂模式用于消除这两个类之间的依赖性,它 ...
- 再起航,我的学习笔记之JavaScript设计模式06(抽象工厂模式)
我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前两 ...
- 再起航,我的学习笔记之JavaScript设计模式07(抽象工厂模式)
我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前两 ...
- 再起航,我的学习笔记之JavaScript设计模式05(简单工厂模式)
我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前几 ...
随机推荐
- 模型admin 外键的相关操作
....@admin.register(MyModel)class MyModelAdmin(admin.ModelAdmin): def method(self, request, queryset ...
- 【Windows】Windows11 安卓子系统安装方法与使用技巧
安卓子系统 (Windows Subsystem For Android, WSA) 可以说是 Windows11 的最强功能,能在 Windows 系统中体验各种安卓应用.但是有些电脑可能不符合硬件 ...
- k8s_namespace
namespace 可以认为namespaces是kubernetes集群中的虚拟化集群.在Kubernetes集群可以拥有多个命名空间,它们在逻辑上彼此隔离. 多数的Kubernetes中的集群默认 ...
- 一个MySQL双引号把我坑惨了!
一.前言 最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程,把我坑得够惨. 二.过程 由于开发需要在生产环节中修复数据,需要执行120条SQL语句,需要将数据进行更新, ...
- file类型的input框获取文件
- @Html.DropDownList,绑定默认值
后端代码: List<Area> list = new List<Area> { new Area { Id=1,Name="北京"}, new Area ...
- Mysql数据库基础第二章:(十)联合查询
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- Java本地缓存解决方案---使用Google的CacheBuilder
一.背景 当业务实现上需要用到本地缓存,来解决一些数据量相对较小但是频繁访问数据的场景,可以采用Google的CacheBuilder解决方案. 二.代码实现 1. 首先在maven中引入下面的包 & ...
- GitLab + Rainbond 打造Devops流程
GitLab + Rainbond 打造Devops流程 流程 预设项目有两个分支,dev和master dev分支对应dev环境 master分支对应test环境和prod环境 开发在dev中编写代 ...
- 基于Java语言的编码问题了解
基于Java语言的编码问题了解 以下仅为本人工作.学习过程中所接触到的内容,不足之处欢迎指出. 近两天使用maven的tomcat插件,以及使用非插件版的tomcat部署项目时遇到了乱码问题,在解决乱 ...