详解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 相关文章推荐
javascript 日期时间 转换的方法
Feb 21 Javascript
JavaScript字符串插入、删除、替换函数使用示例
Jul 25 Javascript
实例讲解JS中数组Array的操作方法
May 09 Javascript
javascript中Number对象的toString()方法分析
Dec 20 Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 Javascript
js中日期的加减法
May 06 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
基于angular2 的 http服务封装的实例代码
Jun 29 Javascript
Bootstrap 模态框(Modal)带参数传值实例
Aug 20 Javascript
vue使用axios时关于this的指向问题详解
Dec 22 Javascript
浅谈ElementUI中switch回调函数change的参数问题
Aug 24 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
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
js location.replace与location.reload的区别
2010/09/08 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
深入浅析python继承问题
2016/05/29 Python
Python装饰器用法实例总结
2018/02/07 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
作文评语大全
2014/04/23 职场文书
小学运动会报道稿
2014/10/04 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
祝寿主持词
2015/07/02 职场文书
田径运动会通讯稿
2015/07/18 职场文书