JavaScript之ECMA对象

ECMA对象

一、对象的概念

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

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

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

11中内置对象:Array、String、Date、Math、Boolean、Number、Function、Global、Error、RegExp、Object。

 1 两种创建方式:
 2     1.var str1="hello";
 3     2.var str2=new String("hello2");
 4 属性:str1.length
 5 方法:
 6     1.格式编排方法
 7         x.anchor()返回锚定义字符串<a>x</a>
 8         x.bold()返回粗体表示字符串<b>x</b>
 9         x.sub()返回上标格式字符串<sup>x</sup>
10         x.italics返回斜体表示字符串<i>x</i>
11     2.大小写转换
12         x.toLowerCase()转换成小写
13         x.toUpperCase()转换成大写
14     3.获取指定字符
15         x.charAt(index)返回index位置的字符
16         x.charCodeAt(index)返回index位置的Unicode编码
17     4.查询字符串索引
18         x.indexOf(value)从左往右开始寻找的第一个值,返回索引位置
19         x.lastIndexOf(value)从右往左开始寻找的第一个值,返回索引位置
20     5.截取字符串
21         x.substr(start,length)从start索引开始取,取长度为length
22         x.substring(start,end)从start索引开始取,取到end索引结束(不含end)
23         x.slice()切片
24     6.替换字符串
25         x.replace(old,new)用new字符串替换old字符串
26     7.分割字符串
27         x.split()
28     8.连接字符串
29         x.concat()
String对象
 1 三种创建方式:
 2     1.var arr1 = [1,'hello',[11,2]]
 3     2.var arr2 = new Array(3) 一个参数时,3代表size
 4     3.var arr3 = new Array(1,"world",true) 直接初始化数组
 5 属性:arr1.length
 6 方法:
 7     1.连接数组
 8         x.join()
 9         x.concat()
10     2.数组排序
11         x.reverse 对数组进行反转
12         x.sort  对数组进行排序,根据最高位从小到大排序,并不是根据大小排
13     3.数组切片
14         x.slice
15     4.删除子数组
16         x.splice(start,deleteCount,value)  start表示开始位置索引、deleteCount删除数组元素的个数、value表示在删除位置插入的数组元素(可省略)
17     5.数组的进出栈操作(先进后出、后进先出)
18         x.push 数组后面插入数据
19         x.pop  根据后进先出取数据
20         x.unshift 数组前面插入数据
21         x.shift 根据后进先出取数据
Array对象
 1 创建Date对象:
 2 //方法1:不指定参数
 3 var nowd1=new Date();
 4 alert(nowd1.toLocaleString( ));
 5 //方法2:参数为日期字符串
 6 var nowd2=new Date("2004/3/20 11:12");
 7 alert(nowd2.toLocaleString( ));
 8 var nowd3=new Date("04/03/20 11:12");
 9 alert(nowd3.toLocaleString( ));
10 //方法3:参数为毫秒数
11 var nowd3=new Date(5000);
12 alert(nowd3.toLocaleString( ));
13 alert(nowd3.toUTCString());
14 
15 //方法4:参数为年月日小时分钟秒毫秒
16 var nowd4=new Date(2004,2,20,11,12,0,300);
17 alert(nowd4.toLocaleString( ));
18 //毫秒并不直接显示
19 
20 
21     获取日期和时间:
22 获取日期和时间
23 getDate()                 获取日
24 getDay ()                 获取星期
25 getMonth ()               获取月(0-11)
26 getFullYear ()            获取完整年份
27 getYear ()                获取年
28 getHours ()               获取小时
29 getMinutes ()             获取分钟
30 getSeconds ()             获取秒
31 getMilliseconds ()        获取毫秒
32 getTime ()                返回累计毫秒数(从1970/1/1午夜)
Date对象
 1 //RegExp对象
 2     // 在表单验证时使用该对象验证用户填入的字符串是否符合规则.
 3     //创建正则对象方式1  参数1 正则表达式  参数2 验证模式  g global / i 忽略大小写. //参数2一般填写g就可以,也有“gi”.
 4     // 用户名 首字母必须是英文, 除了第一位其他只能是英文数字和_ . 长度最短不能少于6位 最长不能超过12位
 5     //----------------------------创建方式1
 6     /* var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$","g");
 7     //
 8     //验证字符串
 9     var str = "bc123";
10     alert(reg1.test(str));// true
11     
12     //----------------------------创建方式2  /填写正则表达式/匹配模式;
13     var reg2 = /^[a-zA-Z][a-zA-Z0-9_]{5,11}$/g;
14     
15     alert(reg2.test(str));// true
16      */
17     //-------------------------------正则对象的方法-------------------
18         //test方法  ==>  测试一个字符串是否复合 正则规则. 返回值是true 和false.
19     
20     //-------------------------String 中与正则结合的4个方法------------------.
21     // macth search split replace
22     var str = "hello world";
23     
24     //alert(str.match(/o/g)); //查找字符串中 复合正则的 内容.
25     //alert(str.search(/h/g));// 0  查找字符串中符合正则表达式的内容位置
26     //alert(str.split(/o/g)); // 按照正则表达式对字符串进行切割. 返回数组;
27     alert(str.replace(/o/g, "s")); // hells wsrld  对字符串按照正则进行替换.
RegExp对象
 1 //Math对象
 2     //该对象中的属性方法 和数学有关.
 3     //Math是内置对象 , 与Global的不同之处是, 在调用时 需要打出 "Math."前缀.
 4     //属性学习:
 5     //alert(Math.PI);
 6     //方法学习:
 7         //alert(Math.random()); // 获得随机数 0~1 不包括1.
 8         //alert(Math.round(1.5)); // 四舍五入
 9         //练习:获取1-100的随机整数,包括1和100
10              //var num=Math.random();
11             //num=num*10;
12             //num=Math.round(num);
13             // alert(num)
14         //============max  min=========================
15         /* alert(Math.max(1,2));// 2
16         alert(Math.min(1,2));// 1 */
17         //-------------pow--------------------------------
18         alert(Math.pow(2,4));// pow 计算参数1 的参数2 次方.
19         
20 
21 
22 
23 abs(x)    返回数的绝对值。
24 exp(x)    返回 e 的指数。
25 floor(x)对数进行下舍入。
26 log(x)    返回数的自然对数(底为e)。
27 max(x,y)    返回 x 和 y 中的最高值。
28 min(x,y)    返回 x 和 y 中的最低值。
29 pow(x,y)    返回 x 的 y 次幂。
30 random()    返回 0 ~ 1 之间的随机数。
31 round(x)    把数四舍五入为最接近的整数。
32 sin(x)    返回数的正弦。
33 sqrt(x)    返回数的平方根。
34 tan(x)    返回角的正切。
Math对象

二、Function对象

函数的定义:

第一种写法:
function 函数名 (参数){
    
函数体;
   return 返回值;
}

第二种写法:
var 函数名 = new Function("参数1","参数n","function_body");
  • 可以是变量、常量、表达式作为函数调用的参数;
  • 函数由关键字function定义;
  • 函数名的定义规则与标识符一致;
  • 返回值必须使用return。

JavaScript函数加载执行与Python不同,它是整体加载完才会执行,所以函数声明上面或下面都可以。

Function对象的length属性是返回参数的个数。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 
 9 <script>
10 
11     //函数的创建方式一
12     function f(x,y){
13         alert(123);
14         return x+y
15     }
16     console.log(f(66,99))
17     //函数的创建方式二
18     var obj = new Function()
19     //函数的调用
20     function add(x,y,z){
21         return x+y+z
22     }
23     console.log(add(1,2,3,4,5));
24     console.log(add(1,2));
25 
26     //面试题
27     function f(x,y){
28         return x+y
29     }
30     var f=1;
31     var b=2;
32     f(f,b)
33 
34     //函数的内置对象arguments
35     function f(a,b){
36         console.log(arguments[0])
37         console.log(arguments[1])
38         return a+b
39     }
40     f(1,2)
41     
42     function ADD(){
43         var sum = 0
44         for (var i=0;i<arguments.length;i++){
45             sum+=arguments[i]
46         }
47         return sum
48     }
49     console.log(ADD(6,8,4,5,9))
50 
51     //匿名函数
52     var func = function(arg){
53         alert(arg)
54     };
55     func('hello')
56 
57     (function(arg){
58         alert(arg)
59     })('alex')
60 
61 </script>
62 
63 
64 </body>
65 </html>
函数
posted @ 2019-10-12 15:05  流浪代码  阅读(240)  评论(0编辑  收藏  举报