对象

基本数据类型都是单一的值,值和值之间没有任何联系,变量之间独立,不能成为一个整体。

对象属于一种符合的数据类型,对象中可以保存对个不同数据类型的属性。

对象分类:

1.内建对象

  由ES标准中定义的对象,在任何的ES的事项中都可以使用:Math String Number Bollean Function Object

2.宿主对象

  由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象:BOM(浏览器对象模型) DOM(文档对象模型)

3.自定义对象

  由开发人员创建的对象

创建对象:使用new关键字调用的函数,是构造函数constructor,构造函数是专门用来创建对象的函数

在对象中保存的值称之为属性

向对象中添加属性

语法:对象.属性 = 属性值

读取属性

语法:对象.属性名

修改属性

语法:对象.属性名

删除属性

语法:delete 对象.属性名

var obj = new Object();//创建对象
obj.name = "xxx";//添加
obj.name//读取
obj.name = "aaa";//修改
delete obj.name;//删除

属性名:

对象的属性名不强制要求遵守标识符的规范(尽量按照标识符的规范去做)obj.123 = xxx;

使用特殊的属性名,不能采用.的方式操作,而是另一种

语法:对象["属性名"] = 属性值

使用[]操作更加的灵活

属性值:

JS对象的属性值,可以是任意数据类型,甚至可以是一个对象

var obj = new Object();
obj.test = true;
obj.test = null;
obj.test = undefind; var obj2 = new Object();
obj2.name = "猪八戒";
obj.test = obj2;//obj2设置为obj的属性

in运算符

检查一个对象中是否含有指定的属性,有返回true,没有返回false

语法:"属性名" in 对象

//检查obj中是否含有test2属性
console.log("test2" in obj);
console.log("test" in obj);
console.log("name" in obj);

基本数据类型和引用数据类型的区别

基本数据类型保存的是值,引用数据类型保存的是地址

 JS中的数据类型的值是直接在栈内存中存储

 值与值之间是独立存在,修改一个变量不会影响其他的变量

 对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响。

对象字面量

使用对象字面量来创建对象,可以在创建对象时,直接指定对象中的属性

语法:{属性名:属性值,属性名:属性值....}

var obj2 = {
name:"xxx",
age:xx,
gender:"xx"
test:{name:"xxx"}
}

函数function

 函数也是一个对象,

 函数中可以封装一些功能(代码),在需要时可以执行这些供能(代码)

 函数中可以保存一些代码在需要时调用

 使用typeof检查一个函数对象时,会返回function

构造函数创建函数对象(很少用)

可以将要封装的代码以字符串的形式传递给构造函数、

var fun = new Function("console.log('xxx');");//很少用

封装到函数代码不会立即执行,调用时执行,调用时会按照顺序执行

语法:函数对象();

函数声明创建函数

语法:function 函数名([形参1,形参2...形参N]){

 语法...

}


函数表达式来创建函数

var 函数名 = function([形参1,形参2...形参N]){

 语法...

};

JS对象、数据类型区别、函数的更多相关文章

  1. JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

    工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outil ...

  2. 理清JS数组、json、js对象的区别与联系

    最近在敲代码时,遇上了一个关于JS数组的问题,由此引发了关于对象和json的联想,曾经觉得很畅顺的知识点突然模糊了.于是,为了理清这些东西,有了如下这篇文章.觉得没问题的猿们可以当复习,而那些带着疑问 ...

  3. JSON 与 JS 对象的区别与对比

    定义: JSON是什么?JSON是JS的一种简单数据格式,JSON是JavaScript原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号. 问题: ...

  4. JSON与JS对象的区别

    <script> var obj2={};//这只是JS对象 var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */ var ...

  5. java:JQuery(声明,JQ和JS对象的区别,prop,attr,addClass,offset,trigger,dblclick和change事件,hide,show,toggle,slideUp,slideDown,slideToggle,三种选择器,标签的获取,三张图片的放大与缩小)

    1.JQuery: jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计 的宗旨是“ ...

  6. 秒懂JS对象、构造器函数和原型对象之间的关系

    学习JS的过程中,想要掌握面向对象的程序设计风格,对象模型(原型和继承)是其中的重点和难点,拜读了各类经典书籍和各位前辈的技术文章,感觉都太过高深,花费了不少时间才搞明白(个人智商是硬伤/(ㄒoㄒ)/ ...

  7. node.js对象数据类型

    在这里复习下前端JS的数据类型:前端JS中的数据类型: 1.基本/原生/值类型 string.number.boolean.null.undefined 2.引用/对象类型    ES对象类型:Str ...

  8. JS对象、构造器函数和原型对象之间的关系

    一.基本概念 1.对象:属性和方法的集合,即变量和函数的封装.每个对象都有一个__proto__属性,指向这个对象的构造函数的原型对象. 2.构造器函数:用于创建对象的函数,通过new关键字生成对象. ...

  9. js的数据类型、函数、流程控制及变量的四种声明方式

    运算符 基本运算符 加 + 减 - 乘 * 除 / 取余 % 自增 ++ eg: 1++ 或 ++1 自减 -- eg: 1-- 或 --1 注:++或--写在前面表示优先级最高,先进行自增或者自减 ...

  10. JavaScript学习——JS对象和全局函数

    1. Array对象 数组的特点:长度可变!数组的长度=最大角标+1 2.Boolean对象 如果value 不写,那么默认创建的结果为false 3.Date对象 getTime()返回1970年1 ...

随机推荐

  1. Win10上使用VS2015编译Caffe2

    Caffe2的官网:https://caffe2.ai/ 1.下载.安装及相关准备 在Caffe2的官网点击"Get Started",即进入安装说明页面.官方还未提供编译好的bi ...

  2. Windows 平台下局域网劫持测试工具 – EvilFoca

    简介 安全测试工具可能含有攻击性,请谨慎适用于安全教学及学习用途,禁止非法利用! EvilFoca是Windows环境下基于.NET FrameWork的一款轻量级的劫持测试工具.与BackTrack ...

  3. 谷歌浏览器(Chrome)禁止浏览器缓存 设置

    在开发项目期间用谷歌浏览器调试,他总是缓存我的css样式这个很气人啊,后经过摸索找到了方法,如下 先F12或者shift+ctrl+j 打开调试者工具,在找Network这个tab按钮,点击进入,勾选 ...

  4. linux中的cd

    cd命令 实例 hling@hling:~$ cd /home/hling/桌面/huanghling@hling:~/桌面/huang$ cd ..hling@hling:~/桌面$ cd ..hl ...

  5. shell 脚本的编写

    创建一个shell文件 1. 创建一个.sh文件 2. 文件第一行声明shell编译器路径  #!/bin/bash 3. 修改文件权限 chmod 777 文件名    或  /bin/bash  ...

  6. Python学习之旅(三十)

    Python基础知识(29):virtualenv virtualenv:用来为一个应用创建一套隔离的Python运行环境 比如,现有两个Python项目,一个是Python2.7的一个是Python ...

  7. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  8. InnoDB中锁的算法(1)

    Ⅰ.InnoDB锁算法的介绍 首先明确一点,锁锁住的是什么?锁锁住的是索引 Record Lock 单个行记录上的锁 Gap Lock 锁定一个范围,但不包含记录本身 Next-key Lock Ga ...

  9. 【论文阅读】Deep Adversarial Subspace Clustering

    导读: 本文为CVPR2018论文<Deep Adversarial Subspace Clustering>的阅读总结.目的是做聚类,方法是DASC=DSC(Deep Subspace ...

  10. java框架之Hibernate(4)-几种检索方式

    准备 模型及映射文件 package com.zze.bean; import java.util.HashSet; import java.util.Set; public class Class ...