详解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 相关文章推荐
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
Jun 26 Javascript
B/S开发中常用javaScript技术与代码
Mar 09 Javascript
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
浅谈JavaScript Date日期和时间对象
Dec 29 Javascript
纯js实现重发验证码按钮倒数功能
Apr 21 Javascript
js仿黑客帝国字母掉落效果代码分享
Nov 08 Javascript
jQuery实现商品活动倒计时
Oct 16 Javascript
jQuery获取当前点击的对象元素(实现代码)
May 19 Javascript
微信小程序 教程之小程序配置
Oct 17 Javascript
浅谈jQuery before和insertBefore的区别
Dec 04 Javascript
bootstrap实现tab选项卡切换
Aug 09 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
Jan 19 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
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
深入解析php中的foreach问题
2013/06/30 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
Vue精简版风格概述
2018/01/30 Javascript
koa-router源码学习小结
2018/09/07 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
JS实现密码框效果
2020/09/10 Javascript
JS实现小米轮播图
2020/09/21 Javascript
django1.11.1 models 数据库同步方法
2018/05/30 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
三爱活动实施方案
2014/03/19 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
董事会决议范本
2015/07/01 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
《小摄影师》教学反思
2016/02/18 职场文书