详解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.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
Jul 28 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
Jan 26 Javascript
javascript实现图片循环渐显播放的方法
Feb 24 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
Dec 08 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
Sep 08 Javascript
javascript实现用户点击数量统计
Dec 25 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
Jan 04 Javascript
利用require.js与angular搭建spa应用的方法实例
Jul 19 Javascript
javascript trie前缀树的示例
Jan 29 Javascript
vue2.0+koa2+mongodb实现注册登录
Apr 10 Javascript
Element UI 自定义正则表达式验证方法
Sep 04 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
Nov 06 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
单位速度在实战中的运用
2020/03/04 星际争霸
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
$()JS小技巧
2007/07/21 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
详解python中的 is 操作符
2017/12/26 Python
python基于递归解决背包问题详解
2019/07/03 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
How TDD works
2012/09/30 面试题
应聘自荐信
2013/12/14 职场文书
大学运动会通讯稿
2014/01/28 职场文书
大学生校园创业计划书
2014/02/08 职场文书
运动会加油稿20字
2014/11/15 职场文书
2014年统战工作总结
2014/12/09 职场文书
雷锋之歌观后感
2015/06/10 职场文书