详解JavaScript函数对象


Posted in Javascript onNovember 15, 2015

函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

function One(leve , leve){
  //code
  return leve+leve
 }

注释:

形参不需要加上类型;

return语句为可选,没有return语句的函数返回undefined; 

局部变量与全局变量

在函数内声明:局部变量

在函数外声明:全局变量

向一个新变量名赋值时并没有使用var:这个变量会变为新的全局变量

函数可以作为值

形式1:

function init(){
  alert("One")
 }
 window.onload = init;

形式:

window.onload = function(){
  alert("One");
 }

注:以上两种方式,都能让浏览器提示:One。

对象

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数,此外,JavaScript 允许自定义对象。 

对象的引用

将一个对象赋至变量时,这个变量会包含这个对象的一个引用,而不是对象本身。

调用一个函数传入对象时,实际上是只传递了对象引用(拷贝一份引用副本,传给形参,指向对象,即两个引用指向了同一对象)

创建对象

var dog = {
  name : "myDog",
  weight : ,
  bark :function(){
   alert("woof!");
  } 
 }
 dog.bark();

注:每一个属性(除了最后一个)后都要有“,”。

构造函数构造对象

function Dog(name,weight){
  this.name = name;
  this.weight = weight;
  this.bark = function(){
   if(this.weight > ){
    alert(this.name + "Woof!");
   }else{
    alert(this.name + "Yip!");
   }
  };//这里也不能忘了分号
 }
 var myDog = new Dog("hello","");
 myDog.bark();

PS:

1.什么是构造函数

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

这是我查阅相关资料的解释,解释的很书本化但意思表达的还是很清楚的。下面请看小例子:

代码如下:

 

 var request = new XMLHttpRequest();

这句表达式是我们在使用AJAX技术时创建request对象时经常用到的。那么我们可以清楚的看到 “new XMLHttpRequest();” 这句话就是一个标准的构造函数!我们 “var” 声明了一个 “request” 对象,用构造函数 “new XMLHttpRequest();” 来初始化这个 “request” 对象为它赋初始值。所以我们可以知道:“与 ‘new' 运算符一起使用用来创建对象并初始化对象的‘函数'就是构造函数”。

比如我们常见的声明数组就是标准的构造函数:var array = new Array();

  2.什么是实例化对象

代码如下:

var request = new XMLHttpRequest();

在面向对象的编程中,通常把用类创建对象的过程称为实例化。

上面我用红色和蓝色将解释的重点标了出来。说白了,实例化对象就是创建对象的过程!

那么什么是“类”呢?根据字面理解我们可以理解为“类型”。比如“蛋糕”,它是一个甜品的分类,也就是一个类型;那么起司蛋糕则是甜品中蛋糕这个分类的具体的个体,也就是对象。

我们知道在程序语言中,“类”是抽象的,我们没有办法来操作它或使用它的方法和属性,只有把这个类实例化成为一个对象,我们才可以去调用它的一系列方法和属性。其实这个也很好理解,在生活中抽象的东西我们没有办法看到它或者捕捉到它,那么自然我们也没有办法去使用它的一些功能,只有将抽象的东西具体到一个个,个体或实际的对象,我们才能清楚的理解或者认识它;编程亦是如此。因此,实例化对象就是由抽象到具体的过程,这个过程就叫实例化。

Javascript 相关文章推荐
jQuery autocomplate 自扩展插件、自动完成示例代码
Mar 28 Javascript
javascript 正则表达式相关应介绍
Nov 27 Javascript
js获取控件位置以及不同浏览器中的差别介绍
Aug 08 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
Centos6.8下Node.js安装教程
May 12 Javascript
JavaScript闭包_动力节点Java学院整理
Jun 27 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
Aug 04 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
基于vue-element组件实现音乐播放器功能
May 06 Javascript
小程序点餐界面添加购物车左右摆动动画
Sep 23 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 #Javascript
深入浅析JavaScript中prototype和proto的关系
Nov 15 #Javascript
apply和call方法定义及apply和call方法的区别
Nov 15 #Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 #Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 #Javascript
JS使用eval解析JSON的注意事项分析
Nov 14 #Javascript
js读取并解析JSON类型数据的方法
Nov 14 #Javascript
You might like
PHP调用三种数据库的方法(3)
2006/10/09 PHP
PHP采集利器 Snoopy 试用心得
2011/07/03 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
python中Mako库实例用法
2020/12/31 Python
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
检察官就职演讲稿
2014/01/13 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
八年级作文之友情
2019/11/25 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
Python与C++中梯度方向直方图的实现
2022/03/17 Python
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers