JavaScript基础知识(JSON、Function对象、原型、引用类型)
19、JSON
概念: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(字符串) ---- (客户端=>服务器),
20、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 构造函数名称( );
21、原型
在 JavaScript 中,函数是一个包含属性和方法的 Function 类型的对象。
属性(Prototype) 在函数定义时就已经存在,是Function对象(即函数)预定义的一个属性;它的初始值是一个空对象。在 JavaScript 中没有定义函数的原型类型,所以原型可以是任何类型。
原型是用于保存对象的共享属性和方法,原型的属性和方法并不影响函数本身属性和方法。
² 显式原型 - Function 的 prototype
在真实的开发环境中使用
² 隐式原型 - Function 的 __proto__
用于开发过程中的测试,不能被使用在真实的开发环境中
20、引用类型
数据类型:
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基础知识(JSON、Function对象、原型、引用类型)的更多相关文章
- JavaScript 基础(二) - 创建 function 对象的方法, String对象, Array对象
创建 function 对象的两种方法: 方式一(推荐) function func1(){ alert(123); return 8 } var ret = func1() alert(ret) 方 ...
- JavaScript基础知识之——Location 对象详解
属性 描述 location.hash 设置或取得 URL 中的锚 location.host 设置或取得 URL 中主机(包括端口号) location.hostname 设置或取得 URL 中的主 ...
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- JavaScript高级篇之Function对象
JavaScript高级篇之Function对象 一: Function对象引入: Function对象是js的方法对象,可以用Function实例化出任何js方法对象. 例如: <%@ pag ...
- javascript的基础知识及面向对象和原型属性
自己总结一下javascript的基础知识,希望对大家有用,也希望大家来拍砖,毕竟是个人的理解啊 1.1 类型检查:typeof(验证数据类型是:string) var num = 123; cons ...
- 林大妈的JavaScript基础知识(三):JavaScript编程(3)原型
在一般的编程语言中,我们使用继承来复用代码,做成良好的数据结构.而在JavaScript中,我们使用原型来实现以上的需求.由于JavaScript专注于对象而摒弃了类,我们要明白原型和继承的确是有差异 ...
随机推荐
- Django的缓存机制
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5 ...
- CS:APP3e 深入理解计算机系统_3e Attacklab 实验
详细的题目要求和资源可以到 http://csapp.cs.cmu.edu/3e/labs.html 或者 http://www.cs.cmu.edu/~./213/schedule.html 获取. ...
- 配置SQL Server on Linux(1)
1. 背景 SQL Server一般是在安装过程中进行相关的配置,安装完成之后,再去修改有一些配置就比较麻烦,比如更改SQL Server实例级别的排序规则.但在Linux下,安装过程并没有很多可以配 ...
- 移动端下拉刷新上拉加载-mescroll.js插件
最近无意间看到有这么一个上拉刷新下拉加载的插件 -- mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com 然后我就看了一下文档,简单的写了一个小dem ...
- Web服务器、应用服务器、Web容器、反向代理服务器区别与联系
作者: 帅虫哥 出处:www.cnblogs.com/vipyoumay/p/7455431.html(点击尾部阅读原文前往) 我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web ...
- VM虚拟机连Linux黑屏问题
在尝试了关闭VM的加速3D图形后,若仍黑屏(但是挂起时却能显示),可以尝试在以管理员身份cmd中输入netsh winsock reset,重启后可以恢复正常.这个问题似乎与网络某个端口有关,我上次打 ...
- JAVA 实现tail -f 日志文件监控功能
工具: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</ar ...
- qml demo分析(externaldraganddrop-拖拽)
一.效果展示 客户端程序拖拽是一个很常见的需求,对于QWidget程序来说,需要重写如图1这么几个方法,通过重写这几个方法的逻辑,我们就可以控制鼠标拖拽的逻辑,糟糕的是QDrag执行exec后是一个阻 ...
- Windows as a Service(3)——使用SCCM管理Windows10更新
Hello 小伙伴们,这是这个系列的第三篇文章,我已经和大家分享了有关于Windows 10服务分支以及利用WSUS管理更新的方式,有兴趣的小伙伴们可以参考下面的链接: Windows as a Se ...
- 获取SpringMVC的映射路径
public String init(HttpServletRequest request, HttpServletResponse response){ List<String> uLi ...