欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解JavaScript基础知识(JSON、Function对象、原型、引用类型)

程序员文章站 2022-07-05 20:14:37
1、json 概念:javascript 对象表示法(javascript object notation),是一种轻量级的数据交换格式 特点:易于程序员编写和查看...

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中任何位置都可调用。