JavaScript 数组,字符串,函数
数组
创建数组
- 利用 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 来获取.
- 具有.length 属性
- 按索引方式储存数据
- 不具有数组的 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 数组,字符串,函数的更多相关文章
- JavaScript 数组操作函数--转载+格式整理
JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,conc ...
- Javascript数组操作函数总结
(1) shift 删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4, ...
- Javascript数组与函数初识
1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素.数组是一种将一组数 ...
- javascript常用字符串函数和本地存储
concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a.conca ...
- 关于ES6-{块级作用域 let const 解构赋值 数组 字符串 函数的扩展 箭头函数}
关于ES6 块级作用域 任何一对花括号({})中的语句集都属于一个块,在块中声明的变量在代码块外都是不可访问的,称之为块级作用域,ES5以前没有块级作用域 let let 是ES6新增的声明变量的一种 ...
- JavaScript数组操作函数
A: 购物车会有这样的情况,购物车是一个数组,每一个商品是一个对象,分别对应一个id,和一个num ,然后改变商品的时候需要和购物车对比,如果购物车中有这个商品的话,就只改变这个商品对应的id的num ...
- JavaScript数组倒序函数reverse()
左边为原数组,右边为array.reverse()的结果: 函数很简单,但是 var temp = ChartConfig.getMonthData(); $scope.monthList = tem ...
- JavaScript数组和函数的使用
数组 数组:一个有顺序,有长度的数据集合 作用:存储大量数据 一.数组的定义 1.构造函数法:使用构造函数法的时候,都会使用new关键字 var arr=new Array(): 当长度为0 的时候, ...
- javascript format 字符串 函数
函数实现如下: function format(string) { var args = arguments; var pattern = new RegExp("%([1-" + ...
- 算法提炼是落脚点-php数组-字符串函数
int array_unshift ( array &$array , mixed $value1 [, mixed $... ] ) array_unshift() prep ...
随机推荐
- windows系统安装Java(详细版)
1.下载JDK 官网下载: www.oracle.com/technetwork… 百度云下载: pan.baidu.com/s/1LGf3Podz…提取码:s6mg (官网下载步骤) 进入官网 ht ...
- 关于IO板的输出(Do的写入)
IO板的输入输出遵循MODBUS协议 1.单个DO开关量寄存器写入-功能码05 例子-打开信道3 01 05 00 02 00 00 CD CA 01 从机地址(由io的配置文件决定) 05 功能码 ...
- RabbitMQ的五种工作方式详细
在了解之前得先有个RabbitMQ客户端.官网: https://www.rabbitmq.com/getstarted.html connections:无论生产者还是消费者,都需要与RabbitM ...
- Qt多线程实现思路二
建立一个继承于Qobject的类myThread 在类myThread中定义线程处理函数不必是思路一里的run(); 在窗口类中开辟一个自定义线程myThread的指针对象myT = new myTh ...
- 0级搭建类009-Fedora 30 安装(F30) 公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
- (C语言)学生成绩排序-期末考倒数第二题结构体数组排序
假设学生的基本信息包括学号.姓名.三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型.输入n(n<50)个学生的成绩信息,按照学生的个人平均分从高到低输出他们的信息.如果平均分相同 ...
- 深入浅出Mybatis系列六-objectFactory、plugins、mappers简介与配置
注:本文转载自南轲梦 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 上篇文章<深入浅出Mybatis系列(五)---TypeHandler简介及配 ...
- 更改pip为豆瓣源加速下载
需求 Python默认pip下载太慢,更改pip为豆瓣源 文件位置 Git Bash Windows $ vi ~/pip/pip.ini Linux $ vi ~/.pip/pip.conf 内容 ...
- LaTeX技巧003:实现一个章标题
代码如下: \documentclass[11pt]{book} \usepackage{graphicx} \usepackage{CJKfntef} \usepackage{color} \mak ...
- numpy 一些知识
import numpy as np 什么类型的相加,返回的还是什么类型的,所以在累加小类型的数值时会出现问题如下: a=np.array([123,232,221], dtype=np.uint8) ...