详解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 相关文章推荐
js cookies 常见网页木马挂马代码 24小时只加载一次
Apr 13 Javascript
纯css实现窗户玻璃雨滴逼真效果
Aug 23 Javascript
javascript实现uploadify上传格式以及个数限制
Nov 23 Javascript
javascript的正则匹配方法学习
Feb 24 Javascript
基于javascript实现最简单的选项卡切换效果
May 16 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
May 31 Javascript
Javascript删除指定元素节点的方法
Jun 21 Javascript
最基础的vue.js双向绑定操作
Aug 23 Javascript
JS实现在文本指定位置插入内容的简单示例
Dec 22 Javascript
Django+Vue跨域环境配置详解
Jul 06 Javascript
Vue实现导航栏菜单
Aug 19 Javascript
小程序wx.getUserProfile接口的具体使用
Jun 02 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写MySQL数据 实现代码
2009/06/15 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
python实现超市扫码仪计费
2018/05/30 Python
python实现控制台打印的方法
2019/01/12 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
Django logging配置及使用详解
2019/07/23 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
费用会计岗位职责
2014/01/01 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
汽修专业自荐信
2014/07/07 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python