ECMA对象

从传统意义上来说,ECMAScript 并不真正具有类。事实上,除了说明不存在类,在 ECMA-262 中根本没有出现“类”这个词。ECMAScript 定义了“对象定义”,逻辑上等价于其他程序设计语言中的类。

var o = new Object();

对象的概念与分类:

  • 由ECMAScript定义的本地对象.独立于宿主环境的 ECMAScript 实现提供的对象.(native object)
  • ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现.这意味着开发者不必明确实例化内置对象,它已被实例化了。ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。(built-in object)
  • 所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。所有 BOM 和 DOM 对象都是宿主对象。

object对象:ECMAScript 中的所有对象都由这个对象继承而来;Object 对象中的所有属性和方法都会出现在其他对象中

'''
ToString() :  返回对象的原始字符串表示。
ValueOf()  : 返回最适合该对象的原始值。对于许多对象,该方法返回的值都与 ToString() 的返回值相同。
'''

11种内置对象

包括:

Array ,String , Date, Math, Boolean, Number,  Function, Global, Error, RegExp , Object

简介:

在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是通过对象实现的

<script language="javascript">
var aa=Number.MAX_VALUE; 
//利用数字对象获取可表示最大数
var bb=new String("hello JavaScript"); 
//创建字符串对象
var cc=new Date();
//创建日期对象
var dd=new Array("星期一","星期二","星期三","星期四"); 
//数组对象
</script>

JS字符串对象_内置对象   

String对象

自动创建字符串对象:

var str1="hello world";
alert(str1.length);
alert(str1.substr(1,5));

调用字符串的对象属性或方法时自动创建对象,用完就丢弃

手工创建字符串对象

var str1= new String("hello word");
alert(str1.length);
alert(str1.substr(1,3));

采用new创建字符串对象str1,全局有效

String对象的属性

// 获取字符串长度
length

var str1="String对象";

var str2="";

alert("str1长度 "+str1.length);

alert("str2长度 "+str2.length);

JS字符串对象_ecmascript_02

JS字符串对象_javascript_03JS字符串对象_html_04JS字符串对象_ecmascript_05

String对象的方法(1) —— 格式编排方法

格式编排方法返回值列表

// 书写格式:

// String对象提供了一组针对HTML格式的方法,如x.anchor()返回锚定义字符串<a>x</a>,
// x.bold()返回粗体表示字符串<b>x</b>,x.sup()返回上标格式字符串<sup>x</sup>。
-----------------------------------------

var x="yuan";
var y="x.italics():"+x.italics();
document.write(y.fontsize(10)); // <font size="10">x.italics():<i>yuan</i></font>

String对象的方法(2)——  大小写转换

var str1="AbcdEfgh"; 

var str2=str1.toLowerCase();
var str3=str1.toUpperCase();
alert(str2);
// 结果为"abcdefgh"
alert(str3);
// 结果为"ABCDEFGH"

String对象的方法(3) —— 获取指定字符

/* 书写格式

x.charAt(index)

x.charCodeAt(index)

使用注解

x代表字符串对象
index代表字符位置
index从0开始编号
charAt返回index位置的字符
charCodeAt返回index位置的Unicode编码 */
----------------------
var str1="welcome to the world of JS! 苑昊";

var str2=str1.charAt(28);
var str3=str1.charCodeAt(28);
alert(str2);
//结果为"苑"
alert(str3);
//结果为33489

String对象的方法(4)——  查询字符串

//书写格式
//
//x.indexOf(findstr,index)
//x.lastIndexOf(findstr)
//-------------------------------------
var str1="welcome to the world of JS!";

var str2=str1.indexOf("l");
var str3=str1.lastIndexOf("l");
alert(str2);
//结果为2
alert(str3);
//结果为18

//-------*********************************************************-------

//书写格式
//
//x.match(regexp)
//
//x.search(regexp)
//
//使用注解
//
//x代表字符串对象
//
//regexp代表正则表达式或字符串
//
//match返回匹配字符串的数组,如果没有匹配则返回null
//
//search返回匹配字符串的首字符位置索引
//-------------------------------------
var str1="welcome to the world of JS!";

var str2=str1.match("world");
var str3=str1.search("world");
alert(str2[0]);
//结果为"world"
alert(str3);
//结果为15

String对象的方法(5) ——子字符串处理

截取子字符串

//截取子字符串
//
//书写格式
//
//x.substr(start, length)
//
//x.substring(start, end)
//
//使用注解
//
//x代表字符串对象
//
//start表示开始位置
//
//length表示截取长度
//
//end是结束位置加1
//
//第一个字符位置为0


var str1="abcdefgh";
var str2=str1.substr(2,4);
var str3=str1.substring(2,4);
alert(str2);
//结果为"cdef"
alert(str3);
//结果为"cd"

//-------*********************************************************-------
//x.slice(start, end)


var str1="abcdefgh";
var str2=str1.slice(2,4);
var str3=str1.slice(4);
var str4=str1.slice(2,-1);
var str5=str1.slice(-3,-1);
alert(str2);
//结果为"cd"
alert(str3);
//结果为"efgh"
alert(str4);
//结果为"cdefg"
alert(str5);
//结果为"fg"

替换子字符串

//x.replace(findstr,tostr)

var str1="abcdefgh";
var str2=str1.replace("cd","aaa");
alert(str2);
//结果为"abaaaefgh"

分割字符串

var str1="一,二,三,四,五,六,日"; 

var strArray=str1.split(",");

alert(strArray[1]);
//结果为"二"

连接字符串

//y=x.concat(addstr)
//
//使用注解
//
//x代表字符串对象
//addstr为添加字符串
//返回x+addstr字符串
    
var str1="abcd"; 
var str2=str1.concat("efgh");

alert(str2);
//结果为"abcdefgh"

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标题</title>
</head>
<body>

    <script>
        // 创建字符串对象两种方式
        var str1='hello1'; // 按照基本数据类型存储的
        // var str2=new String('hello2'); // 是一个字符串对象,按照堆的方式进行存储
        //
        // console.log(str1); // hello1
        // console.log(str2); // String{"hello2"}
        // console.log(typeof str1); // string
        // console.log(typeof str2); // object


        // 字符串的属性
        console.log(str1.length); // 6(字符串长度)


        // 字符串的格式编排方法
        console.log(str1.anchor()); // 返回锚定义字符串<a>str1</a>
        console.log(str1.bold()); // 返回粗体表示字符串<b>str1</b>
        console.log(str1.sup()); // 返回上标格式字符串<sup>str1</sup>
        console.log(str1.italics()); // 返回斜体格式字符串<i>str1</i>

        // 字符串的大小写转换方法
        console.log(str1.toUpperCase()); // 把字符串全部变成大写
        console.log(str1.toLowerCase()); // 把字符串全部变成小写

        // 字符串获取指定字符
        console.log(str1.charAt(4)); // o,4代表索引,从零开始计数,返回指定位置字符
        console.log(str1.charCodeAt(4));  // 111,4代表索引,从零开始计数,返回指定位置字符的Unicode编码

        // 查询字符串指定字符的索引
        console.log(str1.indexOf('l')); // 2,从头开始找第一个'l'字符
        console.log(str1.lastIndexOf('l')); // 3,从头开始找最后一个'l'字符

        // 截取子字符串方法
        console.log(str1.substr(1,3)); // ell,第一个参数代表起始位置索引,第二个参数代表取几个值
        console.log(str1.substring(1,3)); // el,第一个参数代表起始位置索引,第二个参数代表结束索引位置,左闭右开(左取右不取)

        console.log(str1.slice(1,4)); // ell
        console.log(str1.slice(-4,-1)); // llo

        // 字符串替换
        console.log(str1.replace('l','c')); // heclo1,只替换一次
        console.log(str1.replace('ll','cc')); // hecco1

        // 分割字符串
        var strArray=str1.split('');
        console.log(strArray); // ["h", "e", "l", "l", "o", "1"]

        // 连接字符串
        var str2=str1.concat(' world');
        console.log(str2); // hello1 world

    </script>

</body>
</html>

 

 

while True: print('studying...')