javascript 数组 初始化-js外部对象

前言:

在本章中,我们首先了解什么是对象。 对象是由若干个“键值对”(key-value)组成的不必要的数据集合。 接下来我们介绍一下js的外部对象,即:时间对象和Math对象,并通过一些例子详细介绍它们的一些技巧。

什么是对象 1.对象的定义

对象(object)是JavaScript的核心概念,也是最重要的数据类型。

所谓对象,就是一种具有属性和方法的数据类型,一般由若干个“键值对”(key-value)组成。 喜欢:

var obj = {
    content:"Hello xuzhiwen!"}

大括号定义一个对象,参数化为变量obj,其中包含一对通配符(属性),content为“键名”(属性名),字符串“Hello”为“键值”(属性值)。 用逗号分隔键名称。 如果有多个键名对,每对通配符可以相互分隔。

2.按键名称

键名可以加破折号javascript 数组 初始化,也可以不加破折号,前面的代码也可以这样写:

var obj = {    
"content""Hello xuzhiwen"
};

3.写句型

写对象的句型通常有以下三种:

var obj1 = {};
var obj2 = new Object();
var obj3 = Object.create(null);

覆盖三个句子是等价的。 一般来说,第一种使用大括号的写法(即对象字面量的写法)比较简洁,第二种使用构造函数的写法清楚地表达了意图,第三种写法通常在对象需要时使用被继承。

4.对象的应用

var obj1 = {};var obj2 = obj1;
obj1.a = 1;
obj2.a; //1obj2.b = 2;
obj1.b  //2

在上面的代码中,obj1 和 obj2 指向同一个对象,因此如果向其中任何一个变量添加属性javascript 数组 初始化,则另一个变量可以读取和写入该属性。

当变量是原始数据类型时,其值就是数据值。 如:var num=1;。

当变量是对象(包括链表等)时,变量实际上存储了该对象的一个​​应用。 喜欢:

var obj1 = {};
var obj2 = obj1;

内置对象

字符串、数字、布尔值、未定义和 null 是原始类型,而不是对象。 String、Number、Boolean、Object都是语言的内置对象,可以通过各自的构造函数来获取。

例如,在 JavaScript 中,字符串是原始类型,它没有属性。 当您操作字符串属性(例如“somestring”.length)时,JavaScript引擎会将字符串包装到对象中。 该对象是通过String构造函数获得的,这意味着“some string”.length实际上是(newString(“some string”)).length。

将基本数据类型转换为对应引用类型的操作称为装箱,如:newString(“somestring”),将字符串“some string”转换为String对象。

1. 对象属性和技术

对象的特性称为属性,为实现某些功能而对对象执行的动作称为方法(函数)。

1.1 对象的属性

var message = "Hello World!";
var mlen = message.length;
console.log(mlen);

1.2 对象方式

var message = "Hello World!";
var upmess = message.tobpperCase();
console.log(upmess);

2.时间对象(日期)

var nowTime = new Date();
console.log(nowTime);

Date()相关方法的实现:

var nowTime = new Date();   
console.log(nowTime);  
var year = nowTime.getFullYear();  
var moth = nowTime.getMonth() + 1;  
var date = nowTime.getDate();  
var h = nowTime.getHours();  
var m = nowTime.getMinutes();  
var s = nowTime.getSeconds();  
console.log(year + '.'+ moth + '.'+ date + '/'+ h + ':'+ m + ':'+ s);

重返敬拜的方法:

var now = new Date();   
var weekday=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];  
var mynum = now.getDay();  
console.log(mynum);  
console.log(weekday[mynum]);

3. 字符串对象

var mystr = "Hello Xuzhiwne!"
var mylen = mystr.length;
var myup =  mystr.toUppercase();//转换为大写mystr.toLowercase();//转换为小写

console.log("字符串的长度:" +mylen);
console.log("大写转换后:" +myup);
console.log("小写转换后:" +mylow);

3.1 返回弦手第一次出现的位置

indexOf() 方法返回指定字符串值在字符串中第一次出现的位置。

使用句型:

stringObject.indexOf(substring,startops);

参数说明:substring为必填项,为要查找的子串。

startpos 是一个可选的整数参数,指定开始搜索的位置,取值范围为 0 到 stringObject.length-1。 如果省略,则从第一个字符开始搜索。

注意:indexOf() 方法区分大小写。

如果要检索的字符串值没有出现,则该方法返回-1。

var mystr = "I like JavaScript!";   
console.log(mystr.indexOf('I'));  
console.log(mystr.indexOf('v'));  
console.log(mystr.indexOf('v ' ,8));  
console.log(mystr.indexOf('a ' ,mystr.indexOf('a') + 1));

3.2. 返回指定位置的字符

charAt() 方法返回指定位置的偏移量。 返回字符宽度为 1 的字符串。

使用句型:

stringObject.charAt(index);

参数说明:index为必填项,表示字符串中某一位置的数字,即字符串中字符的下标。

var mystr = "I like JavaScript!";
var p = mystr.charAt(7);  
console.log(p);

3.3. 字符串分割

split() 方法将字符串拆分为字符串字段并返回该字段。

使用句型:

stringObject.split(separator , limit);

参数说明:需要分隔符,从设置参数的地方到顶部开始分割stringObject。 limit 可选参数,分割次数,如果设置,则返回字符串

需要注意的是,如果使用空字符串“”作为分隔符,则stringObject中的每个字符都会被分割。

var mystr = "www.xuzhiwen.com";
console.log(mystr.split(".","2"));

3.4.提取字符串

substring() 方法用于提取字符串中两个指定下标之间的字符。

使用句型:

stringObject.substring(satarPos, stopPos );

参数说明:starPos为必填项,非负整数,提取的起始位置; stopPos 是一个可选参数,截取的结束位置,如果不填充,反转后的字符串仍然会到达字符串对象的末尾。

必须要注意的是:

返回的内容是从star开始(包括起始位置的字符)到stop - 1的所有字符,其宽度为stop减去start

如果参数start和stop相等,奇怪的是这个方法返回一个空字符串(即粗细为0的字符串)。

如果 start 大于 stop,则此方法将在提取字符串之前交换两个参数。

 var mystr = "I like JavaScript!"; 
console.log(mystr.substring(2 ));  
console.log(mystr.substring(2 ,6));

3.5 提取指定数量的字符串

substr() 方法从指定位置开始的字符串中提取指定数量的字符。

使用句型:

stringObject.substr(startPos, length);

参数说明:starPos为必填项,要提取的子字符串的起始位置必须为一个值:length,可选,仅提取字符串的宽度,如果省略,则返回stringObject的起始位置。 startPos 是一个正数,从字符串末尾开始的位置。 即,-1 指字符串中的最后一个字符,-2 指倒数第二个字符,依此类推。

如果starPos为正且其绝对值小于字符串宽度,则startPos为0。

 var mystr = "I like JavaScript!"; 
console.log(mystr.substr(2 ));
console.log(mystr.substr(2 ,6));

4.数学对象

Math对象是一个可以直接使用的对象。 它与其他对象的区别在于,String、Date、Number虽然都是函数,但可以当普通函数和构造函数使用,而Math则直接是一个对象。

Math 有许多直接可用的方法,例如:

console.log(Math.PI);
console.log(Math.abs(-15));

4.1 舍入方法

console.log((Math.random()) * 10);   //输出一个0至10之间的随机整数
console.log(Math.round(Math.random() * 10));

4.3 最大值和最小值

console.log(Math.min(0.8,6.6, 5, 4.5, -5.1, -5.9));
console.log(Math.max(0.8,6.6, 5, 4.5, -5.1, -5.9));

5. 数组对象(日期)

数组的定义方式:

定义一个空链表:var linked list name = new Array(n);

定义时指定一个有n个空元素的链表:var array name = new Array(n);

定义链表时,直接初始化数据:var array name = [,,...];

我们定义myArray链表,以及形参,代码如下:

var myArray = [2, 5, 6];

说明:定义了一个链表myArray,里面的元素为:

myArray[0] = 2;
myArray[1] = 5;
myArray[2] = 6;

5.1 链表连接

concat() 方法用于连接两个或多个字段。 此方法返回一个新字段,而不更改原始字段。

使用句型:

array1.concat(array2, array3,...arrayi.....,arrayN);

参数说明:array1为第一个要连接的字段,arrayyi为后续连接的第i个字段。

var mya1 = new Array("Hello!");
var mya1 = new Array("I", "love");
var mya1 = new Array("Javascript", "!");
console.log(may1.concat(mya2,mya3));
console.log(mya1);

5.2 将字段连接成字符串

split() 分割字符串并返回字段;

join()方法用于将链表中的所有元素加载到一个字符串中并返回这个字符串。 元素由指定的分隔符分隔,不影响原始字段。

使用句型:

arrayObject.join(separator);

参数说明:separator 是可选的,指定要使用的分隔符。 如果省略,则使用冒号作为分隔符。

var myarr = new Array(3);
myarr[0] = "www";
myarr[1] = "xuwhiwen";
myarr[2] = "com";console.log(myarr.join(".");