JavaScript函数对象集合字符串

1.JavaScript 函数会在某代码调用它时被执行。
function myFunction(p1, p2) {
    return p1 * p2;              // 该函数返回 p1 和 p2 的乘积
}
2.JavaScript 函数语法
JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 ()。
函数名可包含字母、数字、下划线和美元符号(规则与变量名相同)。
圆括号可包括由逗号分隔的参数:
由函数执行的代码被放置在花括号中:{}
function name(参数 1, 参数 2, 参数 3) {
    要执行的代码
}
3.函数返回
当 JavaScript 到达 return 语句,函数将停止执行。
如果函数被某条语句调用,JavaScript 将在调用语句之后“返回”执行代码。
函数通常会计算出返回值。这个返回值会返回给调用者:

var x = myFunction(4, 3);        // 调用函数,返回值被赋值给 x
function myFunction(a, b) {
    return a * b;                // 函数返回 a 和 b 的乘积
}
4.JavaScript 对象
(JavaScript 对象中的)名称:值对被称为属性。
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
4.1对象方法:
对象也可以有方法。
方法是在对象上执行的动作。
方法以函数定义被存储在属性中。
栗子
var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};
4.2访问对象属性
第一种
objectName.propertyName
第二种
objectName["propertyName"]
5.JavaScript 字符串

JavaScript 字符串用于存储和操作文本。

5.1JavaScript 字符串是引号中的零个或多个字符。
var x = "Bill Gates"
5.2字符串长度
内建属性 length 可返回字符串的长度:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
5.3查找字符串中的字符串

indexOf() 方法返回字符串中指定文本首次出现的索引(位置):

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");
pos = 17
如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。

lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引:

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");
pos = 51
如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。
5.4提取部分字符串
有三种提取部分字符串的方法:
slice(start, end)
substring(start, end)
substr(start, length)
slice() 方法
slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。
该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。
这个例子裁剪字符串中位置 7 到位置 13 的片段:
var str = "Apple, Banana, Mango";
var res = str.slice(7,13);
res = Banana
substring() 方法
var str = "Apple, Banana, Mango";
var res = str.substring(7,13);
res = Banana

substr() 方法
substr() 类似于 slice()。
不同之处在于第二个参数规定被提取部分的长度。

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);
res = Banana

替换字符串内容
replace() 方法用另一个值替换在字符串中指定的值:

str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");
replace() 方法不会改变调用它的字符串。它返回的是新字符串。
默认地,replace() 只替换首个匹配:

转换为大写和小写
通过 toUpperCase() 把字符串转换为大写:

var text1 = "Hello World!";       // 字符串
var text2 = text1.toUpperCase();  // text2 是被转换为大写的 text1
text2 = HELLO WORLD!
同理通过 toLowerCase() 把字符串转换为小写:

concat() 方法
concat() 连接两个或多个字符串:

把字符串转换为数组
可以通过 split() 将字符串转换为数组:

var txt = "a,b,c,d,e";   // 字符串
txt.split(",");          // 用逗号分隔
txt.split(" ");          // 用空格分隔
txt.split("|");          // 用竖线分隔
7.数组属性和方法
var x = cars.length;   // length 属性返回元素的数量
var y = cars.sort();   // sort() 方法对数组进行排序
7.1遍历数组元素

遍历数组的最安全方法是使用 "for" 循环:

var fruits, text, fLen, i;

fruits = ["Banana", "Orange", "Apple", "Mango"];
fLen = fruits.length;
text = "
    "; for (i = 0; i < fLen; i++) { text += "
  • " + fruits[i] + "
  • "; }
7.2添加数组元素

向数组添加新元素的最佳方法是使用 push() 方法:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon");   

也可以使用 length 属性向数组添加新元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Lemon";     // 向 fruits 添加一个新元素 (Lemon)
7.3删除元素

shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();            // 从 fruits 删除第一个元素 "Banana"

使用 splice() 来删除元素
通过聪明的参数设定,您能够使用 splice() 在数组中不留“空洞”的情况下移除元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);        // 删除 fruits 中的第一个元素
7.4合并(连接)数组

concat() 方法通过合并(连接)现有数组来创建一个新数组:
实例(合并两个数组)

concat() 方法不会更改现有数组。它总是返回一个新数组。

var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys);   // 连接 myGirls 和 myBoys
myChildren =Emma,Isabella,Jacob,Michael,Ethan

所有 JavaScript 对象都拥有 toString() 方法。
数组转字符串
自动 toString()
如果需要原始值,则 JavaScript 会自动把数组转换为字符串。下面两个例子将产生相同的结果:

7.5JavaScript 数组排序

sort() 方法是最强大的数组方法之一。
sort() 方法以字母顺序对数组进行排序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();            // 对 fruits 中的元素进行排序
fruits =[ Apple,Banana,Mango,Orange]

反转数组

reverse() 方法反转数组中的元素。
您可以使用它以降序对数组进行排序:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();         // 反转元素顺序
fruits = Apple,Banana,Mango,Orange

数组排序
默认地,sort() 函数按照字符串顺序对值进行排序。
该函数很适合字符串("Apple" 会排在 "Banana" 之前)。
不过,如果数字按照字符串来排序,则 "25" 大于 "100",因为 "2" 大于 "1"。
正因如此,sort() 方法在对数值排序时会产生不正确的结果。
我们通过一个比值函数来修正此问题:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b}); 

使用相同的技巧对数组进行降序排序:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b - a}); 

查找集合中的最大值

对数组使用 Math.max()
您可以使用 Math.max.apply 来查找数组中的最高值:
实例
function myArrayMax(arr) {
    return Math.max.apply(null, arr);
}

查找数组中的最小值

对数组使用 Math.min()
您可以使用 Math.min.apply 来查找数组中的最低值:
function myArrayMin(arr) {
    return Math.min.apply(null, arr);
}

排序对象数组
JavaScript 数组经常会包含对象:

var cars = [
{type:"Volvo", year:2016},
{type:"Saab", year:2001},
{type:"BMW", year:2010}];

cars.sort(function(a, b){return a.year - b.year});

比较字符串属性会稍复杂:

cars.sort(function(a, b){
      var x = a.type.toLowerCase();
      var y = b.type.toLowerCase();
      if (x < y) {return -1;}
      if (x > y) {return 1;}
      return 0;
});

你可能感兴趣的:(JavaScript函数对象集合字符串)