对象

对象指:具体的一个实物,javascript中对象是指一组没有顺序的属性和方法的集合,所有的事物都是对象,例如:函数,数组,字符串等。属性指事物的特征,一般为名词表示;方法指对象的行为,一般用动词表示。对象使用来存储一组没有规律的信息的数据类型。

JSON格式的数据:

一般都是成对的,是键值对。JSON也是一个对象,数据都是成对的,一般JSON格式的数据无论是键还是值,都是用双引号引起来的,JSON对象在IE8以下是不兼容的,如果需要兼容IE8以下,那么可以使用插件:json3.js:

        //编程思想:把生活中的事融入到程序中//面向过程:凡是亲力亲为,每件事的过程都要知道,注重的是过程。//面向对象:根据要求找对象,所有的事都要对象来做,注重结果。//面向对象的特征:封装,继承,多态(抽象性)//JavaScript不是面向对象语言,但是可以模拟面向对象思想。//JavaScript是基于对象的语言。//对象:看得见,摸得着,具体特质的东西。//面向对象有什么特点:特征和行为//instanceof判断一个变量的数据类型,具体方法:变量 instanceof 数据类型,返回的是布尔值。

创建对象的方式:

1.通过字面量的方式创建对象:js中以字面量的方式创建对象使用{},如:var obj = {}一个空对象;给对象添加属性:属性名:属性值,每个属性之间用逗号隔开;给对象添加方法:方法名:function(){},每个方法之间用逗号隔开;调用对象的属性:对象名.属性名或对象名[‘属性名’],调用对象的方法:对象名.方法名();

 <script>var obj = {nameObj: 'obj',age: 18,sex: '男',say: function() {console.log('hello');},play: function() {console.log('play basketball')}};console.log(obj.age); //18console.log(obj['sex']); //男obj.say();//hello</script>

2.调用系统的构造函数创建对象:new Object();同样是一个空对象,这种方法添加属性的方式为:对象名.属性名 = 属性值;添加方法的方式:对象名.方法名 = function(){};每个属性和方法之间用封号隔开,其调用和字面量的方式一样。

 <script>var obj = new Object();obj.name = '涵涵';obj.age = 18;obj.sex = '男';obj.say = function() {console.log('hello');};console.log(obj.age); //18console.log(obj['sex']); //男obj.say(); //hello</script>

3.自定义构造函数创建对象:以上两种方式不能重复创建对象,如果创建新对象,那么就要重新声明,通过构造函数的方式可以一次性创建多个对象,以便解决代码重复问题。自定义构建函数创建对象做的事:1,在内存中开辟(申请)空间,存储创建的新对象2,把this设置为当前对象3,设置对象的属性和方法4,把this这个对象返回;遍历对象是通过for-in来实现的,其中变量是对象的属性,对象[变量]拿到的才是属性值;

 <script>function Student(names, age) {this.names = names;this.age = age;this.say = function(says) {console.log(says);};};var stud1 = new Student('小明', 18);console.log(stud1.names); //小明stud1.say('hello'); //hellovar stud2 = new Student('涵涵', 15);console.log(stud2.age); //15stud2.say('你好'); //你好function Student(names, age) {this.names = names;this.age = age;this.say = function(says) {console.log(says);};};var stud1 = new Student('小明', 18);for (var k in stud1) {// console.log(k); // name age sayconsole.log(stud1[k]);// 小明 18 ƒ (says) {console.log(says);}};</script>

工厂模式创建对象(不是一种方式):

工厂模式创建对象和构造函数创建对象其共同点是:都需要自定义函数;其不同点:工厂模式创建对象函数名首字母小写,函数中要new Object(),有返回值,创建时不需要new的方式(通过构造函数创建对象函数名首字母大写,函数中不需要写new Object(),无返回值,创建时需要new的方式),

 <script>function person(name, age, height, weight) {var obj = new Object();obj.name = name;obj.age = age;obj.height = height;obj.weight = weight;obj.play = function() {console.log('打游戏');}return obj;};var person1 = person('jack', 18, 170, 50);console.log(person1.name);</script>

数据类型分类及之间的特点:

 // 原始数据类型:number string boolean undefined null object// 基本类型(简单类型,值类型):number string boolean// 复杂类型(引用型):object// 空类型:undefined null// 值类型的值储存在:栈中// 引用类型的值储存在:地址在栈上储存,对象在堆上储存// var num = 10;//值类型,值在栈上// var obj = {};//复杂类型,对象在堆上,地址(引用)在栈上// 值类型之间的传递,传递的是值// 引用类型间的传递,传递的是地址(引用)// 值类型作为函数的参数,传递的是值// 引用型作为函数的参数,传递的是地址
 <script>var num1 =10;var num2 = num1;num1 = 20;console.log(num1);//20console.log(num2);//10var num = 50;function f1(num){num = 60;console.log(num);//60}f1(num);console.log(num);//50;var num1 = 55;var num2= 66;function f1(num,num1){num = 100;num1  = 100;num2 = 100;console.log(num);//100console.log(num1);//100console.log(num2);//100}f1(num1,num2);console.log(num1);//100console.log(num2);//100console.log(num);//报错,函数里面的num相当于外面的num1,所以没有num这个变量function Person(name,age,salary){this.name=name;this.age=age;this.salary=salary;}function f1(person){person.name='小明';person = new Person('慧慧',20,1000);}var p =new Person('敏敏',30,10);console.log(p.name);//敏敏f1(p);console.log(p.name);//小明</script>

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

javascript中对象、JSON格式数据、创建对象的方式、数据类型分类及特点相关推荐

  1. 在JSP页面中输出JSON格式数据

    JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...

  2. 数据库中存储Json格式数据

    在数据库中存储Json格式数据 1.表字段类型 json 2.Java代码有两种方式: 方式一 :属性定义成String类型. 往数据库中存储的值 必须为JSON格式的字符串,因为数据库中会做一次校验 ...

  3. python的json格式输出_python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  4. JAVA中返回json格式数据

    1. 返回json格式 package com.demo.util;import com.alibaba.fastjson.JSONObject;import java.util.HashMap; i ...

  5. FormData数据中添加json格式数据

    今天在写接口时候,有一个接口参数需要的是FormData数据类型,然后里面有一个key值对应value值是json格式的.刚开始直接用append方法往FormData里面加,但是呢key值加上了,对 ...

  6. android 中解析json格式数据

    本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...

  7. 向Redis中存入JSON格式数据

    redisConfig类中添加如下代码: /*** redisTemplate 序列化使用的jdkSerializeable, 存储二进制字节码, 所以自定义序列化类* @param redisCon ...

  8. python中json格式数据输出实现方式(无unicode编码输出形式)

    在 http://blog.csdn.net/5iasp/article/details/23338039 的基础上改进了下 不多说了,直接贴代码: # _*_coding:utf-8 _*_ imp ...

  9. Mysql中使用json格式存储数据好吗?

    在最近的一次项目开发过程中,在数据表设计阶段,对是否用json格式存储某些数据我们产生了分歧.以往项目中对此点比较随意,导致数据表中有些json格式数据体积很大,层次很深,我担心这会降低数据查询和解析 ...

  10. Android解析xml的方法,Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

最新文章

  1. ArcGIS Engine生成等值线(C#)
  2. 华为云计算之存储的分类
  3. mysql自定义函数应用_mysql functions实例:在自定义函数中应用字符串函数
  4. NoSQL 是否可以用来做日志中心 ?
  5. javascript event
  6. 一起来玩AZURE SQL(二)AZURE SQL 初级使用篇
  7. 125条常见的java面试笔试题大汇总3
  8. microsoft azure
  9. json格式化工具有哪些?在项目中使用什么工具来格式化JSON数据?
  10. 微信小程序框架--weui
  11. 1.1 机器人学之空间描述和变换
  12. 【题解】天梯赛练习集 L1-059 敲笨钟
  13. 网易云邮箱发送邮件失败
  14. 鸡兔同笼python程序怎么写_关于鸡的歇后语
  15. getActionCommand()用法
  16. 打包时出现的异常。XXXXXXX-1.0-SNAPSHOT.jar中没有主清单属性的解决办法
  17. flappy bird游戏源代码揭秘和下载后续---移植到html5网页浏览器
  18. linux下的磁盘常用工具
  19. 米家APP又崩了,智能家居还可靠吗?
  20. 电脑安装java显示错误代码1603_win7安装软件弹出“错误 -1603安装时出现致使错误”的修复教程...

热门文章

  1. IDEA包的分层显示
  2. execl执行linux命令,execl执行Linux命令
  3. 利用Python中的BeautifulSoup库爬取安居客第一页信息
  4. python逻辑表达式3+45and_python入门到精通(一)| python基础语法与各种运算符的使用...
  5. python升级版本命令_如何在python中安装和配置kivy库
  6. qt html导pdf 页眉,如何使用wkhtmltopdf unpatched qt在每个页面上添加页眉和页脚?
  7. python 格式化输出%和format
  8. 抓包工具mitmproxy环境配置使用(一)
  9. Python中map()函数用法
  10. 【性能测试】Linux系统监控-CPU信息