在本文章中,将对JS中的函数和对象进行一些讲解,不对之处还请之处

一.JS中的函数

1.1无参函数

其形式如下代码所示

function box(){
alert("我是一个函数,只有被调用才会执行");
}
box();

运行结果如图1.1

图1.1

1.2有参函数

有参函数其形式如下

function box(name,age){
alert("你的名字是"+name+",年龄为"+age);
}
box("李大宝",22);

运行结果如图1.2

图1.2

1.3return的用法

其形式如下

function box(){
return "哈哈哈哈"; //return 相当于把这句话字符串返回回来
}
//打印出函数调用返回回来的结果
alert(box()); //box() 调用,相当于box = 哈哈哈哈

运行结果如图1.3

图1.3

1.4return有参数的函数

其形式如下

 function box(name,age){
return "你的名字是"+name+",年龄为"+age;
}
alert(box("李大宝",22));
// 也可以把函数的返回值赋值给一个变量,然后通过变量操作
var strinfo = box("李大宝",23);
alert(strinfo);

运行结果如图1.4

图1.4

其中,return运行中需注意一些问题:当一个函数中有多个return,遇到第一个return,就会终止继续往下执行,第一个return未赋值,则返回undefined

举例如下

function box(){
return 10;
return 100; //当一个函数遇到第一个return,就会终止继续往下执行,
//第一个return未赋值,则返回undefined
}
alert(box());

运行结果如图1.5

图1.5

1.5arguments对象

其形式如下

function box(){
return arguments[0]+"|"+arguments[1]+"|"+arguments[2]+"|"+arguments[3];
}
alert(box("李大宝",22,"船舶专业","未婚"));

运行结果如图1.6

图1.6

1.6利用arguments动态求和

其代码如下

function box(){
var sum = 0;
for(var i=0;i<arguments.length;i++){
sum+=arguments[i];
}
return sum;
}
alert(box(1,2,4));

运行效果如图1.7

图1.7

.JS中的对象

2.1创建一个新的对象

其形式如下

var box = new Object();     //创建一个新的对象
box.name = "李大宝";
alert(box.name);

运行效果如图2.1

图2.1

其中new可以省略

//new 可以省略
var box = Object();
alert(box);

运行效果如下图2.2

图2.2

可用{}创建一个新对象

var box = {};            //字面量方式创建的对象
alert(box);

效果为图2.3

图2.3

2.3字面量对象的属性

var box = {
name : "李大宝", //字面量对象封装数据
age :22
};
alert(box.age);

效果如下图2.4

图2.4

也可以以另一种声明方法

 var box = {
"name" : "李大宝", //字面量对象封装数据
"age" :22 //属性可以用字符串形式
};
alert(box.age);

效果图为2.5

图2.5

2.4给对象创造方法

//给对象创造方法

    var box = {
name : "李大宝",
age : 22,
run: function(){ //匿名函数
return"123";
}
};
alert(box.run()); //调用函数,如果没有(),会打印代码
//有()才会打印返回值

效果如图2.6

图2.6

2.5delete属性

var box = {
name:"李大宝"
}
alert(box.name); //delete,删除属性
delete box.name;
alert(box.name);

其效果如下

图2.7

应用举例:自变量对象的传参

function box(obj){
alert(obj.name);
alert(obj.age);
alert(obj.hobby);
}
var obj = {
name:"李大宝",
age :"22", //封装对象属性,不会乱
hobby:"敲代码"
}; box(obj);

效果图如下图2.8

图2.8

.

.

.

.

由于时间关系,本次讲解到此为止,下一篇博文将继续介绍函数的对象问题

<独创声明,未经允许不得转发!!!>

JS函数和对象(一)的更多相关文章

  1. node js 函数和对象

    1.函数 1.1匿名函数 函数声明 function fn(){  } 函数表达式 var fun=function(){  } 函数名称和函数名称()的区别 fun/fn   fun()/fn() ...

  2. 深入理解js——函数和对象的关系

    函数也是对象,但是函数却不像数组--数组是对象的一种,它是对象的一个子集.函数和数组之间不是单纯的包含与被包含的关系,它们之间有点像鸡生蛋蛋生鸡的逻辑. 来例子:function Fn(){ this ...

  3. js函数事件对象

    每个函数都有4个默认对象 arguments 保存着实际传入的参数,集合列表 return 有两个功能,打断函数和返回函数值 this 谁调用的函数,this就是谁 event 事件对象 事件 box ...

  4. JS函数和对象

    1.函数 isNaN(数据)/parseInt/parseFloat/Number/prompt... 函数分为系统函数和自定义函数 function: 功能体,函数(方法),可以接受若干个数据,返回 ...

  5. JS中的对象和方法简单剖析

    众所周知,在js中对象就是精髓,不理解对象就是不理解js. 那么什么事js中的对象呢? 在js中,几乎一切皆对象: Boolean ,String,Number可以是对象(或者说原生数据被认作对象): ...

  6. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

  7. 【JS小技巧】JavaScript 函数用作对象的隐藏问题

    用户反馈 @消失的键盘 在论坛反馈了一个问题,在 AppBoxMvc 中的 Title 模型中,如果将 Name 属性改名为小写的 name 属性,就会报错: 因为这是一个 ASP.NET MVC 的 ...

  8. 【JS小技巧】JavaScript 函数用作对象的隐藏问题(F.ui.name)

    用户反馈 @消失的键盘 在论坛反馈了一个问题,在 AppBoxMvc 中的 Title 模型中,如果将 Name 属性改名为小写的 name 属性,就会报错: 因为这是一个 ASP.NET MVC 的 ...

  9. 关于js函数对象的理解

    js中函数和对象的关系: 什么是对象?根据W3C上面的解释JS中所有事物都是对象,对象是拥有属性和方法的数据,由此可以看出除了基 本值类型不是对象(number.string.Boolean.Unde ...

随机推荐

  1. ZooKeeper安装、部署

    一.简介       ZK的安装和配置十分简单,既可以配置成单机模式,也可以配置成集群模式,zk使用java编写的运行在java环境上,3个ZK服务进程是建议的最小进程数量,而且建议部署在不通的物理机 ...

  2. python 简单验证码 random模块

    random 模块,产生随机数: chr 将数字转成字母. ascii 数字与字符对应表 链接 import randomtemp=""for i in range(0,4): r ...

  3. Git版本控制,rsync同步文件,完成线上部署

    之前项目开发完成,测试阶段,借着此时,由于公司暂时用两台aliyun  ecs  做业务层,所以每次都需要同步线上文件,进而想着搞一搞服务器端(小公司,新项目,先小搞一把),搭建一套小的版本控制上线的 ...

  4. 2017PHP程序员的进阶之路

    2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...

  5. Lua学习(3)——控制结构

    Lua提供了一组传统的,小巧的控制结构,包括用于条件执行的if,用于迭代的while.repeat和for.所有的控制结构都有一个现实的终止符号:if for while 都以end结尾,repeat ...

  6. [原创]MLCC全球性缺货分析

    2017首季开始全球片式多层陶瓷电容器(MLCC)供应火爆,目前部分厂商交期已延长4周以上,供需缺口达15%.再加之苹果iPhone 8第二季已提前启动备货期,其需求数量极为庞大,至少上亿只,而各大M ...

  7. zabbix监控redis

    导入监控模板 点击[configuration]-->[templates]-->[import],导入xml监控模板. 配置客户端key 在被监控的主机上,新建/etc/zabbix/z ...

  8. vue+vux+axios+vuex+vue-router的项目的理解

    本文主要是讲解项目前期的工作,后期考虑再详细说明. 作为一个技术团队如果你们团队选择了上面的技术栈,这说明你们的技术团体对于vue有很熟练的掌握了.在这里我想说明的是前期架构的重要.这里有一遍博客写的 ...

  9. Asp.Net Core MVC项目实现多语言(Globalization/Localization)

    正好最近手上在给一个Razor MVC项目实现一个多语言功能,叫Globalization也好,Localization也好,whatever.最终要实现的效果呢,就是一键切换全站语言,并且开发的时候 ...

  10. bug 修复:上传库存时前端回发file_name参数丢失;

    # tmp_file = os.path.join(os.path.abspath('youcart/tmp'), json.loads(request.data).get('file_name')) ...