详解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使用查询手册
Mar 07 Javascript
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
javascript创建数组之联合数组的使用方法示例
Dec 26 Javascript
在页面加载完成后通过jquery给多个span赋值
May 21 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
Dec 09 Javascript
Vue.js学习笔记之 helloworld
Aug 14 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
Sep 03 Javascript
基于jQuery实现照片墙自动播放特效
Jan 12 Javascript
关于前后端json数据的发送与接收详解
Jul 30 Javascript
bmob js-sdk 在vue中的使用教程
Jan 21 Javascript
JS实现百度网盘任意文件强制下载功能
Aug 31 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
sae使用smarty模板的方法
2013/12/17 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
2017/02/24 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
python海龟绘图实例教程
2014/07/24 Python
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
python正则表达式之作业计算器
2016/03/18 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
中学生操行评语
2014/04/24 职场文书
岗位职责说明书模板
2014/07/30 职场文书
先进个人评语大全
2015/01/04 职场文书
创业计划书之烤红薯
2019/09/26 职场文书