匿名函数、对象的方法、数组处理方法

简介:

函数的另一种声明方式:匿名函数
在js中,函数也是一个对象,也就是说函数可以使用变量记录。

1.匿名函数的声明格式
// function(参数){函数体}
// 声明一个匿名函数之后,一般都需要使用变量指向它,在后面的代码中可以通过这个变量调用这个函数

2. 对比:在声明之前调用(函数可以,匿名函数不可以)
f1 ();
function f1 (){
console . log ( "f1执行了" )
}

3. 通过function+name,直接声明的函数,可以在声明之前调用
// 变量+ 匿名函数声明的函数不能提前调用
f2 ();
function f2 (){
console . log ( "f1执行了" )
}
1. 对象的属性可以是任何类型,所以对象的属性也可以是函数,对象的函数属性(property)成为对象的方法(method)。 通过 自变量创建对象,方法一般都写为匿名函数

2. 通过 对象.方法名() 的格式调用对象的方法.
p1 . speak ();

3.对象创建之后,还可以添加新的方法
p1 . walk = function (){
console . log ( "走路" );

4.对象的方法中可以访问自己的属性,通过 this.属性名访问
// 在一个对象的方法中,this就表示这个对象
console . log ( "是不是坑跳进去试试就知道了" + this . name );

5.对象的方法中也可以调用这个对象的其他方法,通过this
this . speak ();

1. js中,number,string,Boolean三种基本数据类型都有自己对应的对象类型

基本数据类型 对应 类
number 对应 Number
string 对应 String
boolean 对应 Boolean

// 只有对象才有属性和方法,基本数据类型没有属性和方法

// 但是在js中却可以使用基本数据类型属性和方法,例如:
// "asd".length;
// "asd".split();

// 因为:
// 在js中,使用基本数据类型调用方法或属性时,js会将这个基本数据类型的数据临时封装成一个对应的对象类型,然后使用这个临时的对象调用方法。
// 这个过程叫自动装箱

var arr1 = [ 5 , 9 , 4 , 3 ];

// 1 .push 向数组的最后添加一个元素
arr1 . push ( 10 );
console . log ( arr1 );

// 2 .pop 从数组最后删除一个元素(他有返回值就是删除的元素,不需要回值就可以不要)
var n = arr1 . pop ();
console . log ( n );

// 3 unshift,向数组最前面添加一个元素
arr1 . unshift ( 99 );
console . log ( arr1 );

// 4 shift 从数组前端边删除一个元素。返回值就是删除的元素。
var n2 = arr1 . pop ();
console . log ( n2 );

// 数组的push和pop可以形成一对栈操作
// unshift和shift也是一对栈(类似瓶子,先进后出)操作

/ / push和shift可以形成一对 队列(类似站队,先进先出)操作
// unshift和shift也是一对 队列操作

// -------------------------------------------------------

var arr2 = [ 1 , 2 , 3 , 5 , 6 ];

//1 .splice方法,用于删除或插入元素,第一个参数表示从第几个元素开始删,第二个参数表示删几个,从第三个参数开始表示删除之后替换的新元素
arr2.splice(3);

// 插入4
arr2 . splice ( 3 , 0 , 4 );
arr2 . splice ( 3 , 0 , 4 , 5 , 6 , 7 );

// 删除
//arr2.splice(2,1);
console . log ( arr2 );

// ----------------------------------------------------
var arr3 = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ];
// 2 .slice数组截取,第一个参数表示从哪个位置开始截(含),第二个参数表示截取到哪个位置(不含)。
var res1 = arr3 . slice ( 2 , 5 );

console . log ( res1 );

// ----------------------------------------------------

var arr4 = [ 54 , 8 , 9 , 4 , 63 , 4 , 7 ];

//3 .indexOf 返回某个元素首次在数组中出现的位置,若没有返回-1
console . log ( arr4 . indexOf ( 4 )); //有的话返回位置,没有返回-1

// -------------------------------------------------------
var arr5 = [ 1 , 2 , 3 , 4 , 5 ];
//4 .reverse 数组顺序取反
var res2 = arr5 . reverse ();
console . log ( res2 );

// ---------------------------------------------------
var arr6 = [ 14 , 3 , 5 , 7 , 9 ];

//5 .join 将数组中的元素按照顺序拼接成一个字符串,可以通过参数指定分隔符,如果不指定就默认为逗号
var str1 = arr6 . join (); //若是空格,翻译成,若逗号,没有分隔符,若双引号转换成数组


console . log ( str1 );

// -----------------------------------------------------
var str2 = "abcdefg" ;

//6 字符串转成数组(先换成数组,再反取,再拼接成字符串)
var res4 = str2 . split ( "" ). reverse (). join ( "" );

// ----------------------------------------------------

//7 .concat 拼接数组
var arr7 = [ 1 , 2 ];
var arr8 = [ 3 , 4 ];
var arr9 = arr7 . concat ( arr8 );
console . log ( arr9 );

目录
相关文章
|
5月前
|
存储 JavaScript 前端开发
参数传递方法
参数传递方法
23 2
|
5月前
|
C#
C#的方法的参数传递
C#的方法的参数传递
48 0
|
5月前
|
Java Go C++
【Python】函数的定义和调用、形参和实参、函数的返回值、多元赋值、全局和局部变量
【Python】函数的定义和调用、形参和实参、函数的返回值、多元赋值、全局和局部变量
51 0
|
10月前
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
97 1
|
10月前
|
存储 Python 容器
python函数的返回值、嵌套方式以及函数中的变量(一)
python函数的返回值、嵌套方式以及函数中的变量(一)
279 2
|
10月前
|
Python
python函数的返回值、嵌套方式以及函数中的变量(二)
python函数的返回值、嵌套方式以及函数中的变量(二)
262 1
|
存储 JSON PHP
PHPJSON嵌套对象和数组的解析方法
在PHP编程开发中,JSON是一种非常常用的数据格式。它具有简单、轻量和易于解析的特点,非常适合用于数据交换和存储。当我们处理JSON数据时,经常需要解析嵌套的对象和数组,本文将介绍几种解析方法。
120 1
|
10月前
|
JavaScript 前端开发 索引
往数组添加对象的方法
往数组添加对象的方法
43 0
|
10月前
|
数据安全/隐私保护 C++
C++ 构造函数实战指南:默认构造、带参数构造、拷贝构造与移动构造
C++中的构造函数是特殊成员函数,用于对象初始化。类型包括默认构造函数(无参数)、带参数构造函数、拷贝构造函数和移动构造函数。默认构造函数设置对象默认状态,带参数构造函数允许传递初始化值。拷贝构造函数复制已有对象,移动构造函数高效转移资源。构造函数的访问权限可控制为public、private或protected。理解构造函数有助于编写健壮的C++代码。关注公众号`Let us Coding`获取更多内容。
140 0
我应该使用按值调用还是按引用调用?
我应该使用按值调用还是按引用调用?