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

 eg: Array

//创建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数据类型,定义方法,(工厂模式及闭包的应用)的更多相关文章

  1. javascript创建对象的方法--工厂模式(非常好理解)

    javascript创建对象的方法--工厂模式(非常好理解) 一.简介 创建对象的方法 本质上都是把"属性"和"方法",封装成一个对象 创建对象的基本模式 普通 ...

  2. javascript 面向对象编程(工厂模式、构造函数模式、原型模式)

      javascript 面向对象编程(工厂模式.构造函数模式.原型模式) CreateTime--2018年3月29日17:09:38 Author:Marydon 一.工厂模式 /** * 工厂模 ...

  3. javascript创建对象的方法--组合模式

    javascript创建对象的方法--组合模式 一.总结 0.作用:解决原型模式对象独有属性创建麻烦的问题 1.组合模式使用普遍:jquery就是用的组合模式,组合模式使用非常普遍 2.组合模式优点: ...

  4. javascript创建对象的方法--原型模式

    javascript创建对象的方法--原型模式 一.总结 1.原型模式解决内存浪费的方法(继承):通过继承,对象继承原型模式下的所有属性,对象不同于其它对象的的属性自己创建或者修改 2.原型的使用(p ...

  5. javascript创建对象的方法--构造函数模式

    javascript创建对象的方法--构造函数模式 一.总结 构造函数模式作用和不足 1.作用:解决工厂模式不是用new关键字来创建对象的弊端 2.作用:解决工厂模式创建的实例和模型没有内在联系的问题 ...

  6. JavaScript 函数定义方法

    JavaScript 函数定义方法. 函数声明 在之前的教程中,你已经了解了函数声明的语法 : function functionName(parameters) { 执行的代码 } 函数声明后不会立 ...

  7. 【读书笔记】读《JavaScript设计模式》之工厂模式

    一个类或对象中往往会包含别的对象.在创建这种成员对象时,你可能习惯于使用常规方式,也即用new关键字和类构造函数.问题在于这回导致相关的两个类之间产生依赖性. 工厂模式用于消除这两个类之间的依赖性,它 ...

  8. 再起航,我的学习笔记之JavaScript设计模式06(抽象工厂模式)

    我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前两 ...

  9. 再起航,我的学习笔记之JavaScript设计模式07(抽象工厂模式)

    我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前两 ...

  10. 再起航,我的学习笔记之JavaScript设计模式05(简单工厂模式)

    我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前几 ...

随机推荐

  1. py14模块简介

    """什么是模块 模块:就是一系列功能的结合体 模块的三种来源: 1.内置的(python解释器自带) 2.第三方的(别人写的) 3.自定义的(你自己写的) 模块的四种表 ...

  2. 监听异常:The listener supports no services

    数据库版本:单机环境19c 实例是正常的 [oracle@sit19c admin]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Produ ...

  3. Unity 关于可寻址资源系统Addressables的使用和理解(一) 准备工作

    一.打开Unity的PackageManager,安装Addressables包 二.打开分组面板,对未来要分类的资源包进行分组,并对组进行设置. 1.菜单栏选择Window/AssetManagen ...

  4. Java反射获取方法参数名

      正常环境下,获取不到参数的名称,使用java反射时,第一个参数名是arg0,第二个参数是arg1,与我们代码中写的对不上. java反射过程中,需要我们做好判断: if(!parameter.is ...

  5. linux清除恶意程序流程-kdevtmpfsi清除

    TOP命令查看发现kdevtmpfsi进程跑满CPU, 处理如下: 解决过程 1.清除被新增的用户名和密码# 找到账户ID和权限组都是0跟root同级别的和不认识的, 删掉保存.   more /va ...

  6. Docker学习笔记-02 常用命令

    1.启动类: 启动docker: systemctl start docker 停止docker: systemctl stop docker 重启docker: systemctl restart ...

  7. GPT-3介绍

    参考:https://en.wikipedia.org/wiki/GPT-3 Generative Pre-trained Transformer 3(GPT-3)是一个自回归语言模型,于2020年发 ...

  8. CocosCreator基于jenkins自动构建

    1.新建Item,输入名称后选择Freestyle project后点击确定 2.配置项目,自定义工作目录 3.配置源码管理和要摘取的分支 4.构建触发器选择github触发 5.构建选择执行wind ...

  9. Vulnhub 靶场 HMS?: 1

    Vulnhub 靶场 HMS?: 1 前期准备: 靶机地址:https://www.vulnhub.com/entry/hms-1,728/ 攻击机ip:192.168.147.190 靶机ip:19 ...

  10. git push 时发生的error: failed to push some refs to

    - 先再一个新建的一个文件夹里面git clone +你要克隆的远程仓库 - 然后把克隆下来的.git文件夹复制到你的本地仓库,然后再commit-git add, - git push 就可以提交成 ...