详解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中typeof 用法小结
May 12 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
Apr 17 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
JavaScript中return用法示例
Nov 29 Javascript
漂亮实用的页面loading(加载)封装代码
Feb 03 Javascript
浅谈键盘上回车按钮的js触发事件
Feb 13 Javascript
JS实现异步上传压缩图片
Apr 22 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
Jun 06 Javascript
微信小程序如何刷新当前界面的实现方法
Jun 07 Javascript
vue中提示$index is not defined错误的解决方式
Sep 02 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笔试题
2009/08/04 PHP
php cli 小技巧
2013/06/03 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
PHP禁止个别IP访问网站
2013/10/30 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
使用Python下载Bing图片(代码)
2013/11/07 Python
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书