数组

创建数组
  • 利用 new 创建数组
var arr = new Array();
console.log(arr); // Array(0)
  • 数组字面量创建
var arr = [];  // 空数组
var arr1 = ['1', '2'] // 初始值数组
数组中的元素
  • 数组里面的元素类型

可以放任意类型

var arr = [1, '3', true, 1.9]
  • 获取元素

通过索引, 索引是 0 开始

var arr = [1, '3', true, 1.9];
console.log(arr[0]); // 1
  • 增加元素

可以通过.length在末尾增加元素

var arr = [1, 2];
arr[arr.length] = 3;
console.log(arr); // (3) [1, 2, 3]
  • 添加,删除数组元素

方法名

说明

返回值

push(参数1)

末尾添加一个或多个,修改原来数组

返回新的长度

pop()

删除最后一个元素,修改原来数组

返回删除的元素值

unshift(参数1)

开头添加一个或多个元素,修改原数组

返回新的长度

shift()

删除数组第一参数,修改原数组

返回第一个元素值

排序

方法名

说明

是否修改原来数组

reverse()

颠倒数组中的元素

返回新数组

sort()

对元素进行排序

返回新数组

索引

转换为字符串

join方法如果不传入参数,则按照 “ , ”拼接元素

其他方法

遍历数组
  • 遍历

for 循环遍历数组中每一项

var arr = [1, '3', true, 1.9];
for (var i=0; i<arr.length; i++) {
console.log(arr[i]);
} // 1 3 true 1.9
  • 数组长度

数组中的元素个数

var arrStus = [1,2,3];
alert(arrStus.length); // 3
检查是否为数组
  • instanceof 运算符

判断一个对象是否是某个构造函数的实例

var arr = [1, 2];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
  • Array.isArray()

Array.isArray()用于判断一个对象是否为数组

var arr = [1, 2];
var obj = {};
console.log(arr.isArray()); // true
console.log(obj.isArray()); // false

字符串

根据字符返回位置

根据位置返回字符

字符串操作方法

方法名

说明

concat(str1, str2)

连接两个或多个字符串,等效于+

substr(start, length)

从start(索引)开始,length 取的个数

slice(start, end)

从start位置开始,到end位置结束,end不取(两个都是索引号)

substring(start, end)

从start位置开始,到end位置结束,end不取 跟slice雷同,但是不取 - 的索引(两个都是索引号)

replace() 方法

字符串.replace(被替换的字符串, 要替换为的字符串);

split() 方法

字符串.split("分割字符");

它可以将字符串切分为数组,返回的是一个新数组

函数

  • 函数感念

函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。但是比较具有局限性。

声明函数
  • 自定义函数方式(命名函数)

// 声明函数
function 函数名() {
//函数体代码
} function Getnum() {
console.log('1122');
} // 调用函数
函数名(); // 通过调用函数名来执行函数体代码 Getnum();
  • 函数表达式方式(匿名函数)
// 这是函数表达式写法,匿名函数后面跟分号结束
var fn = function(){...};
// 调用的方式,函数调用必须写到函数体下面
fn();
函数参数

参数

说明

形参

函数定义的时候 传递的参数 当前并不知道是什么

实参

函数调用的时候 传递给参数 实参传给形参

// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
// 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...);
  • 形参和实参不匹配

参数个数

说明

实参 == 形参 个数

输出正常

实参 > 形参 个数

只取形参的个数

实参 < 形参 个数

多的形参为underfined 结果NaN

function Getnum(a, b, c) {
console.log(a, b, c);
} Getnum(1, 2); // 1 2 实参 == 形参
Getnum(1, 2, 3); // 1 2 实参 > 形参
Getnum(1, 2); // 1 2 undefined 实参 < 形参
  • arguments

当不确定有多少个参数传递的时候,可以用 arguments 来获取.

  1. 具有.length 属性
  2. 按索引方式储存数据
  3. 不具有数组的 push , pop 等方法
function Getnum() {
console.log(arguments);
} Getnum(1, 2 ,3) // Arguments(3) [1, 2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
函数返回值
// 声明函数
function 函数名(){
...
return 需要返回的值;
}
// 调用函数
函数名(); // 此时调用函数就可以得到函数体内return 后面的值
  • return

不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的代码

  • break

结束当前的循环体(如 for、while)

  • continue

跳出本次循环,继续执行下次循环(如 for、while)

JavaScript 数组,字符串,函数的更多相关文章

  1. JavaScript 数组操作函数--转载+格式整理

    JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,conc ...

  2. Javascript数组操作函数总结

    (1) shift  删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4, ...

  3. Javascript数组与函数初识

    1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素.数组是一种将一组数 ...

  4. javascript常用字符串函数和本地存储

    concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a.conca ...

  5. 关于ES6-{块级作用域 let const 解构赋值 数组 字符串 函数的扩展 箭头函数}

    关于ES6 块级作用域 任何一对花括号({})中的语句集都属于一个块,在块中声明的变量在代码块外都是不可访问的,称之为块级作用域,ES5以前没有块级作用域 let let 是ES6新增的声明变量的一种 ...

  6. JavaScript数组操作函数

    A: 购物车会有这样的情况,购物车是一个数组,每一个商品是一个对象,分别对应一个id,和一个num ,然后改变商品的时候需要和购物车对比,如果购物车中有这个商品的话,就只改变这个商品对应的id的num ...

  7. JavaScript数组倒序函数reverse()

    左边为原数组,右边为array.reverse()的结果: 函数很简单,但是 var temp = ChartConfig.getMonthData(); $scope.monthList = tem ...

  8. JavaScript数组和函数的使用

    数组 数组:一个有顺序,有长度的数据集合 作用:存储大量数据 一.数组的定义 1.构造函数法:使用构造函数法的时候,都会使用new关键字 var arr=new Array(): 当长度为0 的时候, ...

  9. javascript format 字符串 函数

    函数实现如下: function format(string) { var args = arguments; var pattern = new RegExp("%([1-" + ...

  10. 算法提炼是落脚点-php数组-字符串函数

    int array_unshift    ( array &$array   , mixed $value1   [, mixed $...  ] ) array_unshift() prep ...

随机推荐

  1. 【笔记】机器学习 - 李宏毅 - 9 - Keras Demo

    3.1 configuration 3.2 寻找最优网络参数 代码示例: # 1.Step 1 model = Sequential() model.add(Dense(input_dim=28*28 ...

  2. unity目前学的一些操作

    目前是根据b站的一位迈扣老师的30集基础教学学习的,用的是sunny land这个资源包进行的教学,这位老师讲得很清晰,吐词清晰,思路也清晰,推荐哦.其实我比较喜欢这样的老师,思路 吐词清晰.就像以前 ...

  3. ng-组件

    几乎所有前端框架都在玩"组件化",而且最近都不约而同地选择了"标签化"这种思路,Angular 也不例外. 对新版本的 Angular 来说,一切都是围绕着&q ...

  4. 【database】oracle关联查询主表对应的特定一行从表结果集

    主表: 从表: 结果集: 查询从表中年龄最大的一行数据,如果存在年龄相等的则为了保证唯一取id(主键)最大的一行. 一.利用sql子查询嵌套 -- -------------------------- ...

  5. 中间件c10k问题

    中间件c10k问题 没有使用iocp/epoll/kqueue通讯的中间件,中间件就算部署在拥有多核CPU的强大服务器上,最头痛的问题是C10K问题. 中间件没有办法通过优化程序,提升CPU利用率来处 ...

  6. 关于全球唯一标识GUID的生成

    1.c#生成GUID的几种方式 (1)生成标准的标志符 (36位标准) var strguid = Guid.NewGuid().ToString(); 结果:B2A5AB40-EE29-4791-9 ...

  7. (一)Python模块化编程简介

    1 引言 众所周知,模块化编程具备很多优点,尤其在复杂项目上体现更为明显.Python模块化编程有助于开发者统筹兼顾和分工协作,并提升代码灵活性和可维护性,是编程开发者不可或缺的一项重要工具. 2 P ...

  8. C#调用C++类库例子

    一.新建一个解决方案,并在解决方案下添加一个.netframework的项目,命名为FrameworkConsoleTest.再添加一个C++的动态链接库DLL项目,命名为EncryptBase. 二 ...

  9. 曼孚科技:AI机器学习领域常用的15个术语

    机器学习是人工智能(AI)的核心,是使计算机具有智能的根本途径.​ 本文整理了一下机器学习领域常用的15个术语,希望可以帮助大家更好的理解这门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多个领 ...

  10. K3/Cloud 执行计划任务错误排查

    计划任务的不执行原因可能有: 1.K3CloudJobProcess服务处于停止状态. 2.数据中心未勾选“允许执行计划任务”. 这种情况此数据中心下的所有计划任务都不会执行到. 3.第一次加进计划任 ...