详解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 相关文章推荐
In Javascript Class, how to call the prototype method.(three method)
Jan 09 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
Jul 31 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
Apr 26 Javascript
Javascript Web Slider 焦点图示例源码
Oct 10 Javascript
js的flv视频播放器插件使用方法
Jun 23 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
Apr 19 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 Javascript
如何利用ES6进行Promise封装总结
Feb 11 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 Javascript
详解json串反转义(消除反斜杠)
Aug 12 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数据库的一个类
2012/04/21 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
手机端转换rem适应
2017/04/01 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
python实现3D地图可视化
2020/03/25 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
某科技软件测试面试题
2013/05/19 面试题
《走一步再走一步》教学反思
2014/02/15 职场文书
校庆口号
2014/06/20 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
关于工作经历的证明书
2014/10/11 职场文书