JavaScript基础—插曲02

简介: JavaScript基础—插曲02

Js学习基础




1:关于js中的数组


这里面可以是键值对的形式来存储的,我们必须利用forIn来输出,这就相当于foreach一样。

    var dir = new Array();
    dir['0'] = '1111';
    dir['1'] = '2222';
    dir['2'] = '3333';
    alert(dir['0']);
    for (var key in dir) {
        alert('1'+key+'2'+dir[key]);
    }

键值对集合的形式

    var dicr = { '0': 'ahiu', '1': 'xiaohui', '2': 'aahui' };
    for (var key in dicr) {
        alert(''+key+' '+dicr[key]);
    }



2:js中的String对象


CharAt(index)方法,获取指定索引位置的字符(索引从0开始)

    var meg = '啊四道口附近的回复';
    alert(meg.charAt(4));


indexOf('',startIndex):获取指定字符第一次出现的次数,startIndex表示从第几个开始找。

Split('分隔符',limit):根据分隔符将一个字符串返回一个数组,limit为返回数组的个数。


SubStr(startIndex,len):截取字符串,从第几个开始startIndex,截取几个字符len。


Substring(startIndex,stopIndex):截取字符串,从什么地方开始到什么地方结束。


ToUpperCase():转换大小写。



3:js中面向对象


函数名小写,是函数,大写就是对象

下面的是将person当作了普通的函数来调用。可以直接进行调用。

    function person() {
    }
    person();



这里是当作对象来使用。当成类来使用

    function Person() {
    }
    var p = new Person();



通过构造函数创建对象,且对象可以看成键值对集合,可以进行遍历(forIn)。这里的this就是我们的Person对象。就相当于创建了user_name,等变量。也可以直接点就可以直接创建。

//通过构造函数创建Person对象
function Person(name,age,email) {
    this.user_name = name;
    this.user_age = age;
    this.user_email = email;
    this.sayHello= function() {
        alert(this.user_name+' '+this.user_age+' '+this.user_email);
    }
}
var p = new Person('阿辉', '23', 'zhanghui.com');
p.sayHello()




通过对象字面量直接创建对象(集合初始化器)

    var p1 = {
        user_name: 'ahui',
        user_age: '23',
        user_email: 'zhanghui.com',
        sayHello: function() {
            alert('大家好,才是真的好,我是:'+this.user_name);
        },
        sau_Hi: function() {
            alert('ss'+this.user_email);
        }
    };
    p1.sayHello();




4:instanceod判断哪个对象是那个类型


通过对象instanceof类型(),可以判断一个对象是否是某个类型。

    function person(parameters) {
    }
    alert(person instanceof person);
    alert(person instanceof Object);

679140-20160121154744000-984059323.png




5:函数对象中的prototype属性:原型


解释:原型,雏形,蓝本。


每个方法可以存到原型对象。原型对象是个单独的对象,是减少程序的运行时间。比如申明两个相同的函数里面若只是方法不同,则这些方法不会保存到栈中,他们二者相同的部分都保存到prototype中。


利用这个来实现js的继承,关于原型对象,属性和方法都可以存进去,但是大多数存储的是方法。


一般的普通对象没有这个属性,只有函数对象才有,相当于父类的方法,但是孩子不继承它的。可是孩子对象可以访问到父类的prototype方法中方法。

    function Person(name,age,email) {
        this.user_age = age;
        this.user_email = email;
        this.user_name = name;
    }
    //这里就是实现了js中的继承的关系
    Person.prototype.sayHello=function() {
        alert('11'+this.user_name);
    };
    var p1 = new Person('第一', '23', '333');
    p1.sayHello();
    var p2 = new Person('第二', 'aaaa', '3333');
    p2.sayHello();


定义在prototype中的成员是所有对象共享的,所以一般讲方法定义在prototype中,而属性定义在构造函数中。通过该属性可以实现js的继承。不要为内置对象随便添加新成员,防止混乱,可以对自定义对象通过该方法添加新成员。


原型对象中的成员是只读的,不可以第二次的改变这个值。若是添加了,只是为其对象自己添加了个属性,并不是其原型中的值发生了改变。利用引用类型来理解就好了。


Eg:利用原型给现有类型添加方法。

String.prototype.addwjx = function() {
     return this + 'bbb';
 };
 var msg = 'aaaa';
msg=msg.addwjx();
 alert(msg);




6:js中的继承<原型继承>


Js中没有类的概念,继承是通过对象和对象来实现的。这里的对象是new之后的。通过原型来使不同的对象之间关联起来。


    <script type="text/javascript">
        function Person(name,age) {
            this.user_name = name;
            this.user_age = age;
            this.sayHello = function() {
                alert('我叫'+this.user_name+',今年'+this.user_age);
            };
        };
        function Student(name) {
            this.ahui_name = name;
        };
        var person = new Person('阿辉', '23');
        Student.prototype = person; //这里实现了继承,通过原型来使对象和对象之间连接起来。
        var s1 = new Student('小辉');
        s1.user_name = '阿辉+';
        s1.user_age = '23+';
        s1.sayHello();
    </script>



目录
相关文章
|
JavaScript
JS基础之解构赋值
解构赋值 在js中,我们经常会将对象或者数组里面的一部分数据作为参数传递给函数,如果我们使用传统的.方法会很麻烦。
|
移动开发 JavaScript 前端开发
JavaScript基础知识梳理-上
对JavaScript基础知识梳理-上
231 31
JavaScript基础知识梳理-上
|
存储 JavaScript 前端开发
JavaScript基础(一篇入门)
JavaScript基础(一篇入门)
219 0
JavaScript基础(一篇入门)
|
JavaScript 前端开发
2021琴理工作室JS基础教学(三)
当网页被加载的时候,浏览器就会创建文档对象模型,也就是dom 而dom可以看做一颗树
83 3
2021琴理工作室JS基础教学(三)
|
JavaScript 前端开发
JavaScript 入门基础 - 运算符(三)
文章目录 JavaScript 入门基础 - 运算符(三) 1.什么是运算符 2.表达式和返回值 3.算术运算符概述 4. 赋值运算符 5.递增和递减运算符 5.1 递增和递减运算符概述 5.2 递增运算符 5.2.1 前置递增运算符 5.2.2 后置递增运算符 5.2.3 后置和前置运算符的区别 6. 比较运算符 7. 逻辑运算符 7.1 逻辑运算符概述 7.2 逻辑与 7.3 逻辑或 7.4
154 0
JavaScript 入门基础 - 运算符(三)
|
存储 JSON JavaScript
JavaScript 入门基础 - 变量 / 数据类型(二)
JavaScript 入门基础 - 变量 / 数据类型(二)
108 0
JavaScript 入门基础 - 变量 / 数据类型(二)
|
JavaScript 前端开发 物联网
JavaScript 入门基础 / 概念介绍(一)
JavaScript 入门基础 / 概念介绍(一)
141 0
JavaScript 入门基础 / 概念介绍(一)
|
JavaScript 前端开发 Java
JavaScript的基础使用
JavaScript的基础 一、javascript简介 JavaScript简称js,最初由网景(现在的Mozilla)公司创建,由于商标冲突原因,其标准版本命名为ECMAScript,但是一般人们还是叫JavaScript,只在谈标准的时候说到ECMAScript这个名字。值得注意的是JavaScript与java没有任何关系,就像雷峰塔(神话中镇压白娘子的塔)和雷锋。此外js(JavaScript)和jsp(java servlet pages)也没有关系。   js的工作分为两部分,一部分属于js语言本身的特性,而另一部需要依靠宿主环境(web浏览器)才能完成。 二、javascri
JavaScript的基础使用
|
JavaScript 前端开发
vue js文字跑马灯基础版本
提供两种解决思路
291 1
|
JavaScript 前端开发
原生js制作选项卡详解,适合无基础的人学习
原生js制作选项卡详解,适合无基础的人学习
141 0
原生js制作选项卡详解,适合无基础的人学习
下一篇
无影云桌面