详解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 相关文章推荐
javascript form 验证函数 弹出对话框形式
Jun 23 Javascript
jQuery Selector选择器小结
May 06 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
Jan 15 Javascript
JavaScript数值转换的三种方式总结
Jul 31 Javascript
JS 获取鼠标左右键的键值方法
Oct 11 Javascript
JavaScript不刷新实现浏览器的前进后退功能
Nov 05 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
基于javascript实现的购物商城商品倒计时实例
Dec 11 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
vue-cli3脚手架的配置及使用教程
Aug 28 Javascript
微信小程序登录session的使用
Mar 17 Javascript
Electron-vue开发的客户端支付收款工具的实现
May 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
php SQL防注入代码集合
2008/04/25 PHP
php自动获取目录下的模板的代码
2010/08/08 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
php防止用户重复提交表单
2015/11/02 PHP
smarty简单应用实例
2015/11/03 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
JS实现div居中示例
2014/04/17 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
通过实例解析js简易模块加载器
2019/06/17 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
前端 javascript 实现文件下载的示例
2020/11/24 Javascript
对python3新增的byte类型详解
2018/12/04 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
高中物理教学反思
2014/02/08 职场文书
学校法制宣传月活动总结
2014/07/03 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
针对吵架老公保证书
2015/05/08 职场文书
用Python实现屏幕截图详解
2022/01/22 Python
Java 数据结构七大排序使用分析
2022/04/02 Java/Android
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android