一、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. token和session的区别

    session和token都是用来保持会话,功能相同 一.session机制,原理 session是服务端存储的一个对象,主要用来存储所有访问过该服务端的客户端的用户信息(也可以存储其他信息),从而实 ...

  2. tomcat点击startup.bat出现闪退,启动不成功的解决办法

    问题描述:tomcat点击startup.bat出现命令行闪退的情况 打开startup.bat,在第一行加入 SET JAVA_HOME=D:\jdk\jdk1.8.0_121[jdk路径] SET ...

  3. [经验] Cocos Creator使用笔记 --- 俄罗斯方块 (1)

    一:  实现 物体匀速掉落 这是我在做俄罗斯方块的时候遇到的一个问题,  因为原来的方块的掉落是每秒掉落一个像素点, 但是这样看起来的话会是一卡一卡的, 为了让方块在掉落的过程中看起来更加的流畅, 于 ...

  4. 阿里云服务器win2003下iis整合tomcat共享80端口

    阿里云服务器win2003下iis整合tomcat共享80端口 很多机器都用tomcat跟IIS部署不同网站.最近买了阿里云的服务器.于是也想玩一下.网上百度了很多方法.但是都有缺陷说的不是很清楚.通 ...

  5. 线程高级篇-Lock锁实现生产者-消费者模型

    Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...

  6. navcat工具常用快捷键

     navcat工具常用快捷键 ctrl + n: 打开新查询窗口 ctrl + shit + r: 只运行选中的语句 ctrl + /: 注释 (选中要注释的行,然后用快捷键注释) ctrl + sh ...

  7. Lua 完美打印数据 (例子)

    例子1 : ableprint = function(data,cstring,deepIndex) --第二个参数可以为空,第三个参数不要手动添加,它是用来进行打印深度控制的. if data == ...

  8. C++ 动态多态

    背景 以前的学习,只是简单地知道:面向对象的三大特性(封装.继承.多态) ,在项目开发中,用到了多态而自己却不知道. 多态(Polymorphism)按字面的意思就是"多种状态". ...

  9. Linux-10Year

    主流Linux发行版近10年排行曲线 10个主流的发行版概述(distrowatch挑选) 搜索特定的发行 选择建议     初级用户选择:开箱即用     中级用户组装:适合你自己的系统     高 ...

  10. GoJS实例3

    复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果 <!DOCTYPE html> <html> <head> <meta charset=& ...