详解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 相关文章推荐
js鼠标左右键 键盘值小结
Jun 11 Javascript
javascript向后台传送相同属性的参数即数组参数
Feb 17 Javascript
jquery做的一个简单的屏幕锁定提示框
Mar 26 Javascript
原生js实现网易轮播图效果
Apr 10 Javascript
详解如何使用Vue2做服务端渲染
Mar 29 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
Jun 19 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
vue-cli2.0转3.0之项目搭建的详细步骤
Dec 11 Javascript
Vue+Element实现动态生成新表单并添加验证功能
May 23 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 Javascript
vuex中store存储store.commit和store.dispatch的用法
Jul 24 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
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
newxtree.js代码
2007/03/13 Javascript
javascript call方法使用说明
2010/01/11 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
简单理解Python中基于生成器的状态机
2015/04/13 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
普天C++笔试题
2016/03/20 面试题
毕业生就业自荐信
2013/12/04 职场文书
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
会计人员岗位职责
2014/03/19 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL