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专注于对象而摒弃了类,我们要明白原型和继承的确是有差异 ...
随机推荐
- 存储与索引------《Designing Data-Intensive Applications》读书笔记3
在上一篇的笔记之中,我们讨论了数据模型和查询语言.在第三章之中我们来聊一聊不同的数据引擎内部是如何实现存储和检索的,以及不同设计之间的折中与妥协. 1.键值对数据库 键值对数据库是数据库形式之中最简单 ...
- 查看当前支持的shell,echo -e相关转义符,一个简单shell脚本,dos2unix命令把windows格式转为Linux格式
/etc/shells [root@localhost ~]# more /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bi ...
- 数据库入门(以MySQL为例)
一.数据库中的概念 1.数据库是用户存放数据.访问数据.操作数据的存储仓库,用户的各种数据被有组织地存放在数据库中.可以随时被有权限的用户查询.统计.添加.删除.和修改.可以说,数据库是长期存储在计算 ...
- 树链剖分X2
1.ZJOI树的统计 板子题 因为初始化没打改了几个小时 改到双腿软着出的机房(身体素质感人 #include<iostream> #include<cstdio> #incl ...
- phpexcel导出成绩表
效果图如下: 代码如下:代码注释不全,请大家参考phpexcel中文帮助手册 <?php require_once 'PHPExcel.php'; function bfb($n) { retu ...
- win10下部署.Net Web项目到IIS10
本问主要介绍如何将.Net Web项目部署到IIS10下面. 1.确保iis功能已开启 开启步骤如下:控制面板->程序 点击确定,ok,iis功能已开启. 2.打开iis,绑定站点到iis下面 ...
- 阿里云Centos7 apache配置
其实很简单,主要是有坑. 首先填坑,在阿里云安全策略上开放要访问的端口,然后配置firewall添加对应端口开放. firewall-cmd --zone=public --add-port=8011 ...
- zabbix借助onealert实现微信报警
官网:http://wiki.110monitor.com/integration/zabbix-manual.html) Zabbix安装包部署方式 1)下载agent软件包 请在Zabbix服务器 ...
- Effective Java 第三版——17. 最小化可变性
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- CheckForIllegalCrossThreadCalls = false
多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,这时如果想要访问窗口的控件,发现无法对其控制. 这时可将窗口构造函数中的CheckForIllegalCrossThreadCalls设置为f ...