详解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 相关文章推荐
jQuery 表单验证扩展(四)
Oct 20 Javascript
jQuery源码中的chunker 正则过滤符分析
Jul 31 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
Oct 12 Javascript
jQuery中 prop() attr()使用详解
May 19 Javascript
JS实现来回出现文字的状态栏特效代码
Oct 31 Javascript
使用Script元素发送JSONP请求的方法
Jun 12 Javascript
Ajax的概述与实现过程
Nov 18 Javascript
简单实现js浮动框
Dec 13 Javascript
Node.js数据库操作之连接MySQL数据库(一)
Mar 04 Javascript
discuz表情的JS提取方法分析
Mar 22 Javascript
vue如何进行动画的封装
Sep 26 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
Jul 22 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发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
js实现照片墙功能实例
2015/02/05 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
vue项目中使用百度地图的方法
2018/06/08 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
2020/11/07 Javascript
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
浅谈python中的数字类型与处理工具
2017/08/02 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
某公司.Net方向面试题
2014/04/24 面试题
班长岗位职责
2013/11/10 职场文书
住宅质量保证书
2014/04/29 职场文书
结对共建协议书
2014/08/20 职场文书
升学宴演讲稿
2014/09/01 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
学雷锋倡议书
2015/01/19 职场文书
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers