欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ECMAScript基础小结

程序员文章站 2022-03-03 09:13:35
...

一、基本数据类型

 

      number(数字,浮点型,整型) 

 

      string(js语言的突破,没有char类型.)

 

      boolean

 

      null  (用来标示引用数据类型的占位符.通常都是人为赋值.)var person = null;

 

      undefined  (由null衍生出来的值,是当我们声明一个变量,) 

            //1.没有给该变量初始化值,那么系统会默认赋值为undefined

            //2.函数中没有返回值,那么默认返回undefined

            //3.array中没初始化

 

      原始数据类型 判断符:

      typeof ==> 用来判断一个变量是哪种原始类型的.

 

二、细节:

 

使用var与不使用var的区别:在函数中,使用var为局部变量不使用var为全局变量

 

一元加法,减法

      var a = +1;

      var b = -1;

在js中的高级应用.

      var c = +"1";  //这样写是在进行类型转换

      var d = +"abc"; // 这样写会转换失败,返回number中的特殊值 NaN.

 

Boolean 运算符 ! && ||

js中自动类型转换.

      //转换规律 (重点)

      //string ==>  ""==>转换为false 其他都为true;

      //number ==>  除了NaN,+0和-0.其他都转换为true.

      //null ==>  false

      //undefined ==> false

      //NaN特性:

      //NaN参与的任何boolean运算返回值都是false. 除了!=

      //因为undefined是null衍生出的,所以 

      alert(undefined == null);// true

 

比较运算符

      alert(11>3);//true

      //当运算符两端 , 一端是数字,一端是其他类型时, 其他类型会自动向数字类型转换

      alert("11">3);// true

      alert(11>"3");//true

      //字符串在进行比较时 ,规律是: 比较首字符asc码. 如果一样,比较第2位...

      alert("11">"3");// false

      alert("11">"1");// true

      alert("abc">11);//false

 

等性运算符  == != ===

      全等于: === ==> 比较时包括类型.

 

三、基础语句

 

js中有for(var xxx in xxx) 语句. ==> 用的很少,用来遍历对象的属性.

 

四、Object《ECMAScript中的对象》

      1> 知道他是所有对象的超类. 

      2> toString打印出函数定义

 

五、Function对象

1> Function的创建

      方式1:var fun1 = new Function("a","b","alert(a+b);");

      方式2:var fun2 = function (a,b){alert(a+b);}

      方式3:function fun3(a,b){alert(a+b)}

 

2>Function的调用 ==> js中函数的调用只看函数名称.

      调用时内置对象arguments

      arguments代表 函数运行期间实际参数列表.

      arguments.length ==> 实际参数个数

      arguments[0] ==> 第一个参数.

      应用: arguments 实现函数的重载.

 

3> 函数的返回

      1>如果函数没有显示指定返回值 那么函数返回值为undefined.

      2>使用return 关键字,返回内容

      3>return 关键字,在js中也可以作为结束方法运行的功能.

      4>void运算符的应用.

 

六、String Number Boolean

 

      伪对象: string number boolean 这3个原始类型可以看作是伪对象, 能直接调用包装对象的方法和属性.

 

 

七、String对象

属性

      length

方法

      1 没用的方法

            alert(str1.big());

            alert(str1.sub()); 

            alert(str1.bold());

      2 重要的方法

            1> indexOf

            2> lastIndexOf

            3> charAt 

            alert(str1.charAt(0));//a

            4> charCodeAt 返回所在字符的asc码

            alert(str1.charCodeAt(0));//97

            5> subString 

            alert(str1.substring(0, 1));//a 

            6> slice 支持负数. 从右往左.

            alert(str1.slice(0, -1));//a

 

      3 与正则结合的方法

      1 构造方法

      //参数1 正则字符串 ,参数2 匹配模式

      //用户名必须 以字母开头,长度在6到10位之间.

      //匹配模式有两种 

      //"i": 忽略大小写. ignoredCase

      //"g": 全局匹配 global

            var reg1 = new RegExp("^[a-zA-Z][a-zA-Z_0-9]{5,9}$","g");

            var reg2 = /^[a-zA-Z][a-zA-Z_0-9]{5,9}$/g;

 

      2 方法

            //test方法 ==> 测试字符串与正则是否匹配.

            var username = "a3456";

            //alert(reg1.test(username));//true

 

            //与String对象结合的4个方法

            var str = "hello world";

            //split 切割字符串

            alert(str.split(/o/g));

            //replace 查找替换

            alert(str.replace(/o/g, "haha"));

            //search 只能找第一个出现的位置. 如果需要查找第n个出现的位置使用exec方法.

            alert(str.search(/o/g));

            //match ==> 找到字符串中符合正则表达式的部分并返回.

            alert(str.match(/o/g));

 

八、Global 对象

 

            encodeURI根据utf-8编码

            decodeURI根据utf-8解码

 

            encodeURIComponent将符号也进行转码

            decodeURIComponent解码

 

            escape

            unescape//编码(过时)

 

            isNaN判断是否是NaN

 

            parseInt转换成整数

            parseFloat转换成浮点数

 

 

九、Array 对象

1.创建方式

      1>创建方式1 创建一个数组并初始化值

            var arr1 = ["abc",2,true,null,undefined,new Object()]; 

      2>创建方式2 同方式1

            var arr2 = new Array(1,2,3);

      3>创建方式3 ==> 创建一个长度为3的数组. 数组Array的构造函数,如果只传一个参数,并且这个参数是整数.那么这个整数就是数组的初始化长度.

            var arr3 = new Array(3);

2.属性

      length ==> 数组的长度

 

3.js中数组的特点:

      1.js中的数组,类型任意.

      2.数组的长度不是固定的.用到哪里,就有多长.

 

4.方法

      1> join方法==> 将数组中的每个元素连接起来返回一个字符串.参数就是连接符.(默认连接符是",")

           join方法的高级应用:拼接字符串起到StringBuilder的作用

 

      2> push/pop ==> 模拟栈的结构.

 

      3> shift/unshift==> 模拟队列的结构

 

      4> reverse方法 ==> 将数组中的元素顺序倒置

 

      5> sort方法 ==> 排序的方法,默认是按字符串规则排序. 

      定义比较器:function abc(a,b){return a-b;}以参数的形式传给sort函数

 

十、ECMAScript中对对象的分类

      本地对象

      内建对象 ==> 不需要创建实例.直接使用 Global  Math

      主机对象 ==> DOM BOM 两部分.

 

十一、js自定义对象

	1、function People(name,age){
			this.name = name;
			this.age = age;
			this.setName = function(name){this.name = name};
			this.getName = function(){return this.name};
		}
		var p = new People("小虫", 23);
		for(x in p){
			document.write(x+"="+p[x]);
			}
	2、function People(){
			
		}
	   var p = new People();
	   p.name = "小虫";
	   p.age = 23;
	   p.setName = function(name){this.name = name;};
	   p.getName = function(){return this.name};
	   for(x in p){
			document.write(x+"="+p[x]);
			}
	3、var = {
				"name" : "小虫",
				"age" : 23
				}

 

 

相关标签: javascript