JavaScript基础—插曲02

Js学习基础

1:关于js中的数组

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

  1. var dir = new Array();
  2. dir[‘0‘] = ‘1111‘;
  3. dir[‘1‘] = ‘2222‘;
  4. dir[‘2‘] = ‘3333‘;
  5. alert(dir[‘0‘]);
  6. for (var key in dir) {
  7. ????alert(‘1‘+key+‘2‘+dir[key]);
  8. }

键值对集合的形式

  1. var dicr = { ‘0‘: ‘ahiu‘, ‘1‘: ‘xiaohui‘, ‘2‘: ‘aahui‘ };
  2. for (var key in dicr) {
  3. ????alert(‘‘+key+‘ ‘+dicr[key]);
  4. }

2:js中的String对象

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

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

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

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

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

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

ToUpperCase():转换大小写。

3:js中面向对象

à函数名小写,是函数,大写就是对象<js中叫做构造函数>。

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

  1. function person() {
  2. ?
  3. }
  4. ?
  5. person();

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

  1. function Person() {
  2. ?
  3. }
  4. ?
  5. var p = new Person();

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

  1. //通过构造函数创建Person对象
  2. function Person(name,age,email) {
  3. ????this.user_name = name;
  4. ????this.user_age = age;
  5. ????this.user_email = email;
  6. ????this.sayHello= function() {
  7. ????????alert(this.user_name+‘ ‘+this.user_age+‘ ‘+this.user_email);
  8. ????}
  9. }
  10. var p = new Person(‘阿辉‘, ‘23‘, ‘zhanghui.com‘);
  11. p.sayHello();

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

  1. var p1 = {
  2. ????user_name: ‘ahui‘,
  3. ????user_age: ‘23‘,
  4. ????user_email: ‘zhanghui.com‘,
  5. ????sayHello: function() {
  6. ????????alert(‘大家好,才是真的好,我是:‘+this.user_name);
  7. ????},
  8. ????sau_Hi: function() {
  9. ????????alert(‘ss‘+this.user_email);
  10. ????}
  11. };
  12. p1.sayHello();

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

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

  1. function person(parameters) {
  2. ?
  3. }
  4. alert(person instanceof person);
  5. alert(person instanceof Object);

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

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

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

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

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

  1. function Person(name,age,email) {
  2. ????this.user_age = age;
  3. ????this.user_email = email;
  4. ????this.user_name = name;
  5. }
  6. //这里就是实现了js中的继承的关系
  7. Person.prototype.sayHello=function() {
  8. ????alert(‘11‘+this.user_name);
  9. };
  10. var p1 = new Person(‘第一‘, ‘23‘, ‘333‘);
  11. p1.sayHello();
  12. var p2 = new Person(‘第二‘, ‘aaaa‘, ‘3333‘);
  13. p2.sayHello();

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

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

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

  1. ?String.prototype.addwjx = function() {
  2. ?????return
    this + ‘bbb‘;
  3. ?};
  4. ?var msg = ‘aaaa‘;
  5. msg=msg.addwjx();
  6. ?alert(msg);

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

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

  1. <script type="text/javascript">
  2. ????function Person(name,age) {
  3. ????????this.user_name = name;
  4. ????????this.user_age = age;
  5. ????????this.sayHello = function() {
  6. ????????????alert(‘我叫‘+this.user_name+‘,今年‘+this.user_age);
  7. ????????};
  8. ????};
  9. ????function Student(name) {
  10. ????????this.ahui_name = name;
  11. ????};
  12. ????var person = new Person(‘阿辉‘, ‘23‘);
  13. ????Student.prototype = person; //这里实现了继承,通过原型来使对象和对象之间连接起来。
  14. ????var s1 = new Student(‘小辉‘);
  15. ????s1.user_name = ‘阿辉+‘;
  16. ????s1.user_age = ‘23+‘;
  17. ????s1.sayHello();
  18. </script>

?

时间: 2024-10-04 04:54:26

JavaScript基础—插曲02的相关文章

JavaScript基础—插曲

Javascript基础 1:js中我们最好使用单引号,其实可以使用双引号的但是为了区别所以js中全部使用单引号.注释和C#的是一样的.网页里面的执行顺序是从上到下依次执行的,不管你js放到哪里,都会按照顺序进行执行的.若是js中出现了错误,只是不继续执行此js中<script></script>的代码,但是网页中其余的js代码还是会执行的. 2:书写js代码的时候我们必须为其加上分号,这样的好处有二:1,可以便于压缩:2,提高了代码的可读性,可维护性. 3:js中的数据类型. 我

JavaScript基础插曲---apply,call和URL编码等方法

Js基础学习 Js的压缩: 就是利用js的语法格式通过缩短变量名,去掉空格等来进行压缩. Apply和call的使用 1:apply方法:应用某一对象的方法,用于一个对象替换当前对象.主要是改变this的值. <script type="text/javascript"> ????var user_name = "阿辉"; ????//一个函数,这里主要注意里面的this的含义. ????function showName() { ????????ale

JAVASCRIPT基础09-购物车(02)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <ti

javascript入门书籍推荐《javascript基础教程》

前段时间看javascript高级教程的时候,发现很多基础的javascript概念,自己不懂. 网上搜了一下,看到大家对<javascript基础教程(第8版)>评价不错,买了一本. 作者: (美)Tom Negrino Dori Smith 译者: 陈剑瓯 柳靖 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 翻开看了后,受益匪浅,决定将这本书推荐给javascript的入门童鞋. 这本书的读者,要有一定的HTML基础,因为javascript基本都是对Dom的操作,所以,有一定的HT

js基础--javascript基础概念之语法

掌握一门语言 必须先掌握它的语法! javascript 的语法和C.Java.Perl 的语法有些相似.但是比它们更加宽松. javascript 中的一切都是严格区分大小写的.例如变量: demo 和 Demo 两个变量是完全不同的. javascript 标示符,所谓标示符 是指 变量.函数.属性 的名字或函数的参数.标示符的格式是按照以下规则组合的一个或多个字符. 1.第一个字符必须是字母,下划线,或 $ 符号. 2.其他字符可以是字母.下划线.$ . 或数字. 注意 不能把关键字 保留

Javascript.01 -- Javascript基础

Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和sun合作. Java+script   ===> javascript 1.2 W3c规范 ?结构标准        html ?表现标准   css ?行为标准      js 1.3 JavaScript和ECMAScript的关系 ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协

javascript基础学习(十五)

javascript之cookie 学习要点: cookie介绍 创建与获取cookie cookie的编码 cookie的生存期 cookie的路径 cookie的domain cookie的secure 一.cookie介绍 cookie实际上就是一些信息,这些信息以文件的形式存储在客户端计算机上.在javascript中,cookie主要用来保存状态,或用于识别身份. 二.创建与获取cookie 创建cookie的语法代码如下所示:document.cookie="name=value&q

javascript基础学习(八)

javascript之日期对象 学习要点: 日期对象 将日期对象转换为字符串 将日期对象中的日期和时间转换为字符串 日期对象中的日期 日期对象中的时间 设置日期对象中的日期 设置日期对象中的时间 与毫秒相关的方法 一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date(); 二.将日期对象转换为字符串 将日期对象转换为字符串可以使用以下4种方法: date.toString();//将日期对象转换为字符串时,采

javascript基础学习(二)

javascript的数据类型 学习要点: typeof操作符 五种简单数据类型:Undefined.String.Number.Null.Boolean 引用数据类型:数组和对象 一.typeof操作符 typeof操作符用来检测变量的数据类型,操作符可以操作变量也可以操作字面量. 对变量或值运用typeof操作符得到如下值: undefined----如果变量是Undefined类型: boolean-------如果变量是Boolean类型: number-------如果变量是Numbe