详解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 相关文章推荐
firefox中JS读取XML文件
Dec 21 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
jquery easyui使用心得
Jul 07 Javascript
jquery实现图片上传前本地预览功能
May 10 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
Dec 06 Javascript
JavaScript中Promise的使用详解
Feb 26 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
Mar 27 Javascript
JavaScript hasOwnProperty() 函数实例详解
Aug 04 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
Js经典案例的实例代码
May 10 Javascript
Vue数字输入框组件的使用方法
Oct 19 Javascript
vue+elementUI实现简单日历功能
Sep 24 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
写一个用户在线显示的程序
2006/10/09 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
jQuery 数据缓存模块进化史详细介绍
2012/11/19 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
简述数据库的设计过程
2015/06/22 面试题
产品促销活动策划书
2014/01/15 职场文书
文明之星事迹材料
2014/05/09 职场文书