一、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的函数和对象介绍的更多相关文章

  1. 了解Javascript中函数作为对象的魅力

    前言 Javascript赋予了函数非常多的特性,其中最重要的特性之一就是将函数作为第一型的对象.那就意味着在javascript中函数可以有属性,可以有方法, 可以享有所有对象所拥有的特性.并且最重 ...

  2. JavaScript快速入门-ECMAScript对象介绍

    一.概念介绍 在 ECMAScript 中,所有对象并非同等创建的.一般来说,可以创建并使用的对象有三种:本地对象.内置对象和宿主对象. 要理解这三种对象,先要理解宿主环境. 1.宿主环境 一般宿主环 ...

  3. javaScript的函数(Function)对象的声明(@包括函数声明和函数表达式)

    写作缘由: 平时再用js写函数的时候,一般都是以惯例 function fn () {} 的方式来声明一个函数,在阅读一些优秀插件的时候又不免见到 var fn = function () {} 这种 ...

  4. 转:JavaScript中函数与对象的关系

    来自:http://www.nowamagic.net/javascript/js_RelationOfFunctionAndObject.php 在ajax兴起以前,很多人写JavaScript可以 ...

  5. JavaScript -基础- 函数与对象

    一.JavaScript三对象 1.分类方式一 1)ECMAScript JavaScript的ECMA规范 JS本身的对象 2)Dom 操作HTML相关 3)BOM游览器对象 游览器窗口对象,全局的 ...

  6. Javascript基础--函数(Function对象)

    1.函数是一段可执行的代码,函数可多次调用,模块化管理. 2.使用function语句,function funName([arg1][,arg2]....[,argn]){代码块}.所有版本可用,一 ...

  7. JavaScript -基础- 函数与对象(四) BOM 对象

    一.BOM对象 BOM游览器对象模型,可以与游览器对话 BOM下Window对象最重要,还有history.location对象 二.Window对象方法 1.alert提示框 2.confirm c ...

  8. JavaScript -基础- 函数与对象(三)正则、Match对象

    一.正则对象 1.创建方法 1)方式一 var re_obj=new RegExp("\d+","g") 规则+模式(g 全局模式/i 不区分大小写/gi) r ...

  9. JavaScript -基础- 函数与对象(三)Date对象

    一.Date对象 1.创建方法 var date_obj=new Date(); alert(date_obj.toLocaleString()) var date_obj=new Date(&quo ...

随机推荐

  1. 第3节 storm高级应用:1、上次课程回顾,今日课程大纲,storm下载地址、运行过程等

    上次课程内容回顾: ConcurrentHashMap是线程安全的,为什么多线程的时候还不好使,为什么还要加static关键字 1.storm的基本介绍:strom是twitter公司开源提供给apa ...

  2. jqueery easyui tree把已选中的节点数据拼成json或者数组(非常重要)

    jqueery easyui tree把已选中的节点数据拼成json或者数组 pqxhk10级分类:其他被浏览14次2018.01.19  https://wenda.so.com/q/1535702 ...

  3. question1 赋值运算操作符

    注意的问题书上讲的很详细了 下面是代码实现,但是VS有一个问题,strcpy安全性较低,虽然可以通脱编译,但是运行会报错,提示用strcpy_s()替代,但是,这里用strcpy()替代也不行, // ...

  4. Postgresql数据库数据简单的导入导出

    Postgresql数据库数据简单的导入导出 博客分类: DataBase postgres  命令操作: 数据的导出:pg_dump -U postgres(用户名)  (-t 表名)  数据库名( ...

  5. JSTL1.0和JSTL1.1的区别

    这要从一个异常说起 According to TLD or attribute directive in tag file, attribute value does not accept any e ...

  6. pyhon 内置函数

    chr()   asci码 dir()  目录,显示目录. divmod(10,3)   返回商和余数   例如  (3, 1)   返回的为一个元组    可以用于分页 enumerate()    ...

  7. 小程序mdns+udpSocket实现电视推送

    起因:公司以前小程序推送架构为:小程序->接口->后台->socket->机顶盒client->socket->后台->接口->小程序,一系列接口才得到 ...

  8. Windows系统查看端口被那些进程使用

    Windows系统查看端口被那些进程使用注:当前Windows为虚拟机环境1. 打开命令提示符:开始-运行-cmd2. 列出使用端口的PID: netstat -abno -a 显示所有连接和侦听端口 ...

  9. H7-TOOL脱机烧录器功能开源发布

    H7-TOOL汇总帖:https://www.cnblogs.com/armfly/p/12283459.html 当前已经对STM32F030,STM32F103,STM32F429,STM32F7 ...

  10. Day6 - H - Balanced Lineup POJ - 3264

    For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One d ...