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天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前几 ...
随机推荐
- 在java路径上找不到javax.servlet.http.HttpServlet
1.将写好的网页代码导入Java中会发现index.jsp文件开头部分出现报错 2.错误提示是找不到java路径问题 3.在项目中鼠标右键进行找到Build Path选项点击进去 4.找到Librar ...
- centos7上安装使用docker环境
系统环境准备: docker 运行在centos7上,要去系统为64位.系统内核版本为3.10以上 1.查看系统版本:cat/etc/redhat-release 2.查看系统内核版本:uname - ...
- 询问chatGPT的一些问题
- tensorboard 2.0可视化 —浏览器中输入http://ip:6006 - 无法访问此网站——有效解决
https://blog.csdn.net/sinat_28442665/article/details/108975276
- c++基础: uint8_t uint16_t uint32_t uint64_t size_t ssize_t数据类型
https://blog.csdn.net/lzx_bupt/article/details/7066577 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看,好像是个 ...
- linux 网络操作 route iptables ufw
linux 网络操作 route iptables ufw sudo ufw status sudo ufw allow ssh sudo ufw allow http sudo ufw deny h ...
- vue-awesome-swiper使用中的一些问题
项目中使用了vue-awesome-swiper,发现autoplay不能用.网上找了半天,说是版本问题.最后在main.js中添加以下代码解决. import VueAwesomeSwiper fr ...
- PyMySQL查询
title: PyMySQL查询 author: 杨晓东 permalink: PyMySQL查询 date: 2021-10-02 11:27:04 categories: - 投篮 tags: - ...
- Word10 个人简历office真题
1.新键Microsoft Word 文档,命名为Word,再打开Word文档,选择[布局],打开[页面设置]右下角的箭头,弹出[页面设置]的窗口,根据题目要求调整[页边距]. 2.根据案例题目二 ...
- NIO 缓冲区 ByteBuffer 之黏包和半包
一.低效率方式 /** * 黏包.半包 */ private static void buffExample2() { /* 网络上传输多条数据给服务器,数据之间使用 \n 分隔. 但由于某种原因(多 ...