详解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 相关文章推荐
给moz-firefox下添加IE方法和属性
Apr 10 Javascript
Firefox window.close()的使用注意事项
Apr 11 Javascript
JavaScript判断一个URL链接是否有效的实现方法
Oct 08 Javascript
文本域中换行符的替换示例
Mar 04 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
php利用curl获取远程图片实现方法
Oct 26 Javascript
JavaScript判断浏览器及其版本信息
Jan 20 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
Sep 30 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
Nov 13 Javascript
ES7之Async/await的使用详解
Mar 28 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 Javascript
JavaScript实现点击图片换背景
Nov 20 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 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
Javascript 遍历对象中的子对象
2009/07/03 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
js date 格式化
2017/02/15 Javascript
Ajax基础知识详解
2017/02/17 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
python读取并写入mat文件的方法
2019/07/12 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
关于numpy数组轴的使用详解
2019/12/05 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
个人承诺书
2014/03/26 职场文书
体育运动口号
2014/06/09 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
工程部岗位职责
2015/02/10 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers