详解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 设计模式 推荐
Oct 28 Javascript
jQuery之网页换肤实现代码
Apr 30 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
Nov 10 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
May 06 Javascript
javascript设计模式之中介者模式Mediator
Dec 30 Javascript
jQuery插件实现控制网页元素动态居中显示
Mar 24 Javascript
jquery ztree实现模糊搜索功能
Feb 25 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 Javascript
微信小程序实现一个简单swiper代码实例
Dec 30 Javascript
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
Node.js中的异步生成器与异步迭代详解
Jan 31 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
BBS(php &amp; mysql)完整版(七)
2006/10/09 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
Laravel5中contracts详解
2015/03/02 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
基于php实现的验证码小程序
2016/12/13 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
javascript add event remove event
2008/04/07 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
查看django版本的方法分享
2018/05/14 Python
python列表使用实现名字管理系统
2019/01/30 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
Python @property使用方法解析
2019/09/17 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
材料专业毕业生求职信
2014/02/26 职场文书
领导干部保密承诺书
2014/08/30 职场文书
上课说话检讨书500字
2014/11/01 职场文书
毕业生个人总结
2015/02/28 职场文书
品德与社会教学反思
2016/02/24 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
最新最全的手机号验证正则表达式
2022/02/24 Javascript