开发者社区> 景凌凯> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

函数的另一种声明方式:匿名函数
在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);

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
特殊函数:匿名函数的两种应用(①回调函数②自调函数)
特殊函数:匿名函数的两种应用(①回调函数②自调函数)
0 0
C++关于参数是对象时要调用拷贝构造函数进行传参的问题探讨
C++关于参数是对象时要调用拷贝构造函数进行传参的问题探讨
0 0
集合作为函数参数传参时创建新集合对象的作用
易错点——List集合集合作为函数参数传参时创建新集合对象的作用
0 0
C++ 用引用的方式向函数传递数组
C++ 用引用的方式向函数传递数组
0 0
接口类型的数组对象的逐个赋值与调用方法(开关)
问:把对象装数组分几步? 答:第一步把数组声明出来(new),第二步把对象装进去(=),第三步把数组遍历出来(for, for each)将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。
539 0
对象,函数作为一个函数的参数
1 2 3 4 5 对象,函数作为一个函数的参数 6 7 8 9 //1.将一个对象传给一个函数 10 function $$(id){ 11 return document.
481 0
参数传递方法
参数传递方法 李纬的InsideVCL《第一章》中提到Windows定义的回调函数 typedef LRESULT (CALLBACK*WNDPROC)(HWND,UNIT,WPARAM,LPARAM) 为了加快回调函数执行的效率,Mi...
532 0
+关注
景凌凯
有点尴尬唉 你要寻找的东西已经被吃掉啦!
文章
问答
文章排行榜
最热
最新
相关电子书
更多
建立联系方法之一
立即下载
函数对象
立即下载
低代码开发师(初级)实战教程
立即下载