JavaScript的函数和对象介绍
一、JavaScript中的函数
1、函数的概述
JavaScript中的函数是一段可执行代码的合集,在需要执行的时候可以在方法名之后添加一对小括号执行方法。是一段可执行的字符串。
2、函数中隐藏的属性arguments
在函数中有一个隐藏的属性arguments,其中保存的是用户输入的全部参数,可以通过arguments.length获取用户输入参数的长度。如果用户输入的参数数量大于函数现有的参数长度,多余的参数没有被抛弃,利用arguments依然可以获取到用户输入全部参数。如果用户的输入参数数量小于函数现有的参数长度,则缺少的参数会使用undefined来赋值通过arguments也可以获取用户传入的参数。
3、函数的使用
在JavaScript的函数中可以认为函数是一种特殊的变量,这个变量可以作为参数使用,也可以作为方法使用。
a、当作为参数使用时,直接书写方法名即可,这时书写的方法名就是代表当前方法的变量。
b、作为方法使用时,则需要再方法名之后添加上一对小括号,这时这个函数就会执行函数中的函数体。
4、函数的三种定义方式
普通方法定义函数
function mx(a,b) {
for(var i =0;i<arguments.length;i++) {
console.log(arguments[i]);
}
}
mx(1,2,3);
mx(1);
动态函数定义
动态函数定义方式,就是将函数列表中先书写全部参数,最后一个参数需要书写方法体。(动态函数最后一个参数位置是填写方法体的位置)
var mx = new Function("a","b","return a + b");
console.log(mx(2,3));
匿名函数定义(直接量函数定义)
var mx = function(a,b){
return a+b;
}
mx(3,4);
二、JavaScript中的对象
1、JavaScript对象的概述
JavaScript是一门脚本语言。无需编译,直接解释执行;它是基于对象。js中的对象的本质就是由一个大括号,其中包含任意多个键值对,键值对直接使用逗号隔开,组成的字符串。
2、对象的三种定义方法
无参构造函数创建对象,对象的属性和方法直接在对象后面添加
function Person() {
}
let p = new Person();
p.name="lisi";
p.age = 18;
p.gender = "male";
p.say = function() {
return this.name + "say。。。";
}
console.log(p);
console.log(p.say());
有参构造函数创建对象:将部分属性通过构造函数传入
function Person(name,age) {
this.name = name;
this.age = age;
}
let p = new Person("lisi",18);
p.addr = "beijing";
delete p.name;
console.log(p);
其中删除属性使用delete删除,例如上面删除p对象的属性name:delete p.name。
直接量定义对象:直接在{}中插入键值对定义对象。
var p = {name:"js",age:18,addr:"bj"};
console.log(p);
delete p.name;
console.log(p);
3、JavaScript的对象的另类使用:JSON串
Json本质上就是一段字符串,能够保存较复杂关系的数据,具有良好的数据保存格式,又极为轻量,加之多种代码平台都支持对字符串的处理,所以我们可以使用JSON字符串进行数据的传入,甚至平台传输。
JSON串的使用示例如下:
var data = {
name:"王五",
age:28,
addr:"北京",
grilfriends:[
{name:"貂蝉",age:16,job:"闭月羞花"},
{name:"西施",age:18,job:"沉鱼落雁"}
]
}
console.log(data["grilfriends"][1]["job"]);
当JSON串中的属性是数组对象时,要通过data["grilfriends"]的方式访问;属性为非数组独享时,可以直接通过JSON对象“.”出来,或者使用data["age"]的方式访问。
JavaScript的函数和对象介绍的更多相关文章
- 了解Javascript中函数作为对象的魅力
前言 Javascript赋予了函数非常多的特性,其中最重要的特性之一就是将函数作为第一型的对象.那就意味着在javascript中函数可以有属性,可以有方法, 可以享有所有对象所拥有的特性.并且最重 ...
- JavaScript快速入门-ECMAScript对象介绍
一.概念介绍 在 ECMAScript 中,所有对象并非同等创建的.一般来说,可以创建并使用的对象有三种:本地对象.内置对象和宿主对象. 要理解这三种对象,先要理解宿主环境. 1.宿主环境 一般宿主环 ...
- javaScript的函数(Function)对象的声明(@包括函数声明和函数表达式)
写作缘由: 平时再用js写函数的时候,一般都是以惯例 function fn () {} 的方式来声明一个函数,在阅读一些优秀插件的时候又不免见到 var fn = function () {} 这种 ...
- 转:JavaScript中函数与对象的关系
来自:http://www.nowamagic.net/javascript/js_RelationOfFunctionAndObject.php 在ajax兴起以前,很多人写JavaScript可以 ...
- JavaScript -基础- 函数与对象
一.JavaScript三对象 1.分类方式一 1)ECMAScript JavaScript的ECMA规范 JS本身的对象 2)Dom 操作HTML相关 3)BOM游览器对象 游览器窗口对象,全局的 ...
- Javascript基础--函数(Function对象)
1.函数是一段可执行的代码,函数可多次调用,模块化管理. 2.使用function语句,function funName([arg1][,arg2]....[,argn]){代码块}.所有版本可用,一 ...
- JavaScript -基础- 函数与对象(四) BOM 对象
一.BOM对象 BOM游览器对象模型,可以与游览器对话 BOM下Window对象最重要,还有history.location对象 二.Window对象方法 1.alert提示框 2.confirm c ...
- JavaScript -基础- 函数与对象(三)正则、Match对象
一.正则对象 1.创建方法 1)方式一 var re_obj=new RegExp("\d+","g") 规则+模式(g 全局模式/i 不区分大小写/gi) r ...
- JavaScript -基础- 函数与对象(三)Date对象
一.Date对象 1.创建方法 var date_obj=new Date(); alert(date_obj.toLocaleString()) var date_obj=new Date(&quo ...
随机推荐
- C#学习之time控件和timer_tick事件 -----转载
Timer控件:Timer控件只有绑定了Tick事件,和设置Enabled=True后才会自动计时,停止计时可以用Stop()控制,通过Stop()停止之后,如果想重新计时,可以用Start()方法来 ...
- 新闻网大数据实时分析可视化系统项目——8、Flume数据采集准备
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并 ...
- js原型链。。fuck
function Person(name){ this.name = name; }; function Mother(){ }; //给mother提供公有的属性 Mother.prototype ...
- 分页插件 layui.laypage 的用法
参考 layui.laypage 官方文档 https://www.layui.com/demo/laypage.html 第一步下载插件 (注意不能只引入引入 layui.css和layui.js ...
- Vue--爬坑
1.路由变化页面数据不刷新问题: 出现这种情况是因为依赖路由的params参数获取写在created生命周期里面,因为相同路由二次甚至多次加载的关系 没有达到监听,退出页面再进入另一个文章页面并不会运 ...
- 4、mysql查询练习
1.创建四个表供查询 (1)学生表—Student 学号 姓名 性别 出生年月日 所在班级 [语句] > create table student( -> sno varchar(20) ...
- Day3-R-Aggressive cows POJ2456
Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are locat ...
- Codeforces #536 A..D 题解
foreword ummm... 开始前几个小时被朋友拉来打了这一场,总体海星,题目体验极佳,很符合口味,稍微有点点简单了不知道是不是因为是 New Year Round,很快就打到了 D,但是题目阅 ...
- java 接口 2.19
接口中所有的方法都是抽象的和public的,所有的属性都是public,static,final的.
- Unable to execute dex:Multuple dex files define 解决方法
困扰我两天的问题终于解决了,在网上查的方法无非有三种 一. Eclipse->Project->去掉Build Automatically->Clear ->Build Pro ...