详解JavaScript基础知识(JSON、Function对象、原型、引用类型)


Posted in Javascript onJanuary 16, 2018

1、JSON

详解JavaScript基础知识(JSON、Function对象、原型、引用类型)

概念:JavaScript 对象表示法(JavaScript Object Notation),是一种轻量级的数据交换格式

特点:易于程序员编写和查看;易于计算机解析和生成

数据结构:Object对象格式   { key: value , key: value }

Array数组格式   [ value , value ]

Eg:  var json = ‘ { “   ” : ‘'  ‘' } '    (内部双引号,外部单引号)

 * JSON - 支持独立的".json"文件;   允许嵌套

JSON格式在主流开发语言中几乎都支持--- 各个语法语言的共识就是字符串

JSON中的字符串只能使用双引号 

* 支持的数据类型: string; number; boolean; null; object; array

     转换JSON对象与字符串

转换为JSON对象: JSON.parse(对象)  ---(服务器=>客户端), 解析JSON字符串,

转换为JSON字符串:JSON.stringify(字符串)  ---- (客户端=>服务器),

2、Function对象

   函数与Function对象:

Function类型是JavaScript提供的引用类型之一;通过Function类型创建了一个Function类型的对象,该对象实际是一个[函数]。

var 对象名 = new Object( );   ---创建对象

var 函数名 = new Function( );   // function anonymous( ){}

【在JavaScript 中,所有函数是Function的对象】

var 函数名 = new Function(参数,函数体);

括号( )里面最后一个参数,识别为函数体, 除此都是形参。---不建议

   构造函数:

作用:为了创建对象(工厂方式)

语法结构:

function 构造函数名称(形参){
 this.属性名 = 属性值;    ---- this的含义 -> 指的是创建的对象
 this.方法名 = function( ){ }   
}
var 对象名 = new 构造函数名称( );

3、原型

在 JavaScript 中,函数是一个包含属性和方法的 Function 类型的对象。

属性(Prototype) 在函数定义时就已经存在,是Function对象(即函数)预定义的一个属性;它的初始值是一个空对象。在 JavaScript 中没有定义函数的原型类型,所以原型可以是任何类型。

原型是用于保存对象的共享属性和方法,原型的属性和方法并不影响函数本身属性和方法。

²  显式原型 - Function 的 prototype

在真实的开发环境中使用

²  隐式原型 - Function 的 __proto__

用于开发过程中的测试,不能被使用在真实的开发环境中

4、引用类型

   数据类型:

Number-通过创建对象方式定义数字;      String-通过创建对象方式定义数字;

Boolean-通过创建对象方式定义数字;

   Date类型

作用:获取常规的日期+时间

getFullYear( ) : 获取年份;   getMonth( ) : 获取月份;     getDate( ):获取日期

getTime ( ):距离1970年1月1日到目前的时间和日期 [利用毫秒值进行时间的计算;实现时间戳(标识)]

eg: 日期格式为 YYYY年MM月DD日的当前时间

var date = new Date( );
console.log(date.getFullYear( ) + '年' + date.getMonth( ) + '月' + date.getDay( ) + '日');

  Math类型

属性:PI - 圆周率                              注:不需要创建对象

方法:对数字的处理

ceil(x):向上取整即增;       floor(x):向下取整即舍;     round(x):四舍五入

pow(x1, x2):n1的n2次方     random( ):生成0-1之间的随机数

eg:0-100随机数   console.log(Math.random( )*100);     

1-100随机整数  console.log(Math.random( )*99+1);

20%概率执行一,50%概率执行二  if( num <= 0.2 ){

                                      } else {

                                    }

   Global类型

全局对象:全局属性(Infinity、NaN、undefined)、全局方法,在JavaScript中任何位置都可调用。                    

Javascript 相关文章推荐
Js动态创建div
Sep 25 Javascript
用cssText批量修改样式
Aug 29 Javascript
Jquery进度条插件 Progress Bar小问题解决
Jul 12 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
Feb 03 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
Aug 12 Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
Oct 09 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
js实现鼠标拖动功能
Mar 20 Javascript
js获取浏览器的各种属性
Apr 27 Javascript
对angularJs中$sce服务安全显示html文本的实例
Sep 30 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
Jan 16 #Javascript
Parcel 打包示例(React HelloWorld)
Jan 16 #Javascript
详解Vue快速零配置的打包工具——parcel
Jan 16 #Javascript
vue watch自动检测数据变化实时渲染的方法
Jan 16 #Javascript
动态加载权限管理模块中的Vue组件
Jan 16 #Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
Jan 15 #Javascript
解析Angular 2+ 样式绑定方式
Jan 15 #Javascript
You might like
php下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
基于jQuery选择器的整理集合
2013/04/26 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
python操作redis的方法
2015/07/07 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
python executemany的使用及注意事项
2017/03/13 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
对python中各个response的使用说明
2020/03/28 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
西班牙手机之家:Phone House
2018/10/18 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
商场促销活动总结
2014/07/10 职场文书
见习报告格式要求
2014/11/04 职场文书
检讨书范文1000字
2015/01/28 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
服务行业标语口号
2015/12/26 职场文书