对象

  • 在JS中,对象是数据(变量),拥有属性和方法。
  • JS中所有事物都是对象:字符串、数字、数组、日期等。
  • 对象是拥有属性和方法的特殊数据类型。
    • 属性是与对象相关的值。
    • 方法是能够在对象上执行的动作。
// 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔
var myDog = {
age : 20, //也可以这样写 'age' : 20 "age" : 20
name : 'rose'
}; // 对象属性有两种寻址方式
console.log(myDog.name);
console.log(myDog['name']); // 这种方括号里面只能传字符串,不加引号系统会认为是一个变量

  • 自己创建对象
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
document.write(person.firstname + " is " + person.age + " years old.");

JS Number对象

  • number:所有数字,比如小数\整数,JS数字均为64位。 JavaScript 中的所有数字都存储为根为 10 的 64 位(8 比特),浮点数。
  • 精度:
    • 整数:最多15位。
    • 小数:最大17位,浮点数运算并不100%准确。
  • Number对象属性:
    • constructor:返回对创建此对象的Number函数的引用。
    • MAX VALUE:
    • MIN VALUE:
    • NaN:非数字值
  • Number对象方法:
    • toString()等

JS 字符串对象

<script type="text/javascript">
var txt="Hello World!" document.write("<p>Big: " + txt.big() + "</p>")
document.write("<p>Small: " + txt.small() + "</p>") document.write("<p>Bold: " + txt.bold() + "</p>")
document.write("<p>Italic: " + txt.italics() + "</p>") document.write("<p>Blink: " + txt.blink() + " (does not work in IE)</p>")
document.write("<p>Fixed: " + txt.fixed() + "</p>")
document.write("<p>Strike: " + txt.strike() + "</p>") document.write("<p>Fontcolor: " + txt.fontcolor("Red") + "</p>")
document.write("<p>Fontsize: " + txt.fontsize(16) + "</p>") document.write("<p>Lowercase: " + txt.toLowerCase() + "</p>")
document.write("<p>Uppercase: " + txt.toUpperCase() + "</p>") document.write("<p>Subscript: " + txt.sub() + "</p>")
document.write("<p>Superscript: " + txt.sup() + "</p>") document.write("<p>Link: " + txt.link("http://www.baidu.com") + "</p>")
</script>

  

  • indexOf( ) 方法

    • 定位字符串中某个执行的字符首次出现的位置
    • var str="Hello world!"
      document.write(str.indexOf("Hello") +"<br />”)  // 0
      document.write(str.indexOf("World") +"<br />”)  // -1
      document.write(str.indexOf("world”))             // 6

  • match()

    • 查找字符串中特定的字符,找到返回
    • var str="Hello world!"
      document.write(str.match("world") + "<br />”)  // world
      document.write(str.match("World") + "<br />”)  // null

  • replace()

    • var str="Hello World!"
      document.write(str.replace(/Hello/,"你好"))

  • txt.toUpperCase()转为大写

JS Date对象

  • Date()

    • 返回当前日期
    • document.write(Date())
      Wed Aug 17 2016 14:43:23 GMT+0800 (CST)

  • getTime()

    • 返回从1970.1.1至今的毫秒数

  • setFullYear()

    • 设置具体的日期
    • var d = new Date()
      d.setFullYear(1992,10,3) //  表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
      document.write(d)
      Tue Nov 03 1992 14:40:27 GMT+0800 (CST)

  • toUTString()

    • 将当日的日期(根据UTC)转为字符串。
    • var d = new Date()
      document.write (d.toUTCString())
      Wed, 17 Aug 2016 06:42:51 GMT

  • getDay()

    • 返回星期几的Number
    • var d=new Date()
      var weekday=new Array(7)
      weekday[0]="星期日"
      weekday[1]="星期一"
      weekday[2]="星期二"
      weekday[3]="星期三"
      weekday[4]="星期四"
      weekday[5]="星期五"
      weekday[6]="星期六"

      document.write("今天是" + weekday[d.getDay()])
      今天是星期三

  • 显示一个时钟
<html>
<head>
<script type="text/javascript">
function startTime() {
var today=new Date()
var h=today.getHours()
var m=today.getMinutes()
var s=today.getSeconds()
// add a zero in front of numbers<10
m=checkTime(m)
s=checkTime(s)
document.getElementById('txt').innerHTML=h+":"+m+":"+s
t=setTimeout('startTime()',500)
} function checkTime(i) {
if (i<10) {
i="0" + i
}
return i
}
</script>
</head> <body onload="startTime()">
<div id="txt"></div>
</body>
</html>

  

  • 将日期对象设置为 5 天后的日期:

    • var myDate=new Date()
      myDate.setDate(myDate.getDate()+5)
      注意:如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

  • 比较日期
var myDate=new Date();
myDate.setFullYear(2008,8,9); var today = new Date(); if (myDate > today) {
alert("Today is before 9th August 2008");
} else {
alert("Today is after 9th August 2008");
}

JS 数组对象

  • 数组中可以放任意类型的数据
  • 写法一:
    • var cars = new Array();
    • cars[0] = "Audi";
      cars[1] = "BMW";

  • 写法二:

    • var newArr = [10, -5, age, name, result, score, ['哈哈哈', 'dewdew']];

  • 写法三:

    • var names = new Array("jack", "rose", "dd");

  • 也可以使用一个整数自变量来控制数组的容量

    • var arr = new Array(3)
      arr[0] = "111"
      arr[1] = "222"
      arr[2] = "333"

  • 输出数组中的内容,遍历有两种方式

    • for
    • for in

  • 删除最后一个元素,添加一个新的元素到数组中 pop()和push()

    • newArr.pop(); //删除数组中最后的元素
    • newArr.push([‘添加一个新的元素']);

  • concat()合并两个数组

    • var arr = new Array(3)
      arr[0] = "111"
      arr[1] = "222"
      arr[2] = "333"

      var arr2 = new Array(3)
      arr2[0] = "444"
      arr2[1] = "555"
      arr2[2] = "666"

      document.write(arr.concat(arr2))
      111,222,333,444,555,666

  • join()将数组的所有严肃组成一个字符串

    • var arr = new Array(3);
      arr[0] = "AAA"
      arr[1] = "BBB"
      arr[2] = "CCC"

      document.write(arr.join());  // 默认以“ ,”分割
      document.write("<br />");
      document.write(arr.join("."));
      AAA,BBB,CCC
      AAA.BBB.CCC

  • sort()

    • 从字面上对数组进行排序

      • var arr = new Array(6)
        arr[0] = "ABB"
        arr[1] = "AAA"
        arr[2] = "DDE"
        arr[3] = "CCCC"
        arr[4] = "C"
        arr[5] = "B"

        document.write(arr + "<br />")
        document.write(arr.sort())
        ABB,AAA,DDE,CCCC,C,B
        AAA,ABB,B,C,CCCC,DDE

    • 从数值上对数组进行排序

      • function sortNumber(a, b) {
            return a - b
        }

        var arr = new Array(6)
        arr[0] = "10"
        arr[1] = "5"
        arr[2] = "40"
        arr[3] = "25"
        arr[4] = "1000"
        arr[5] = "1"

        document.write(arr + "<br />")
        document.write(arr.sort(sortNumber))
        10,5,40,25,1000,1
        1,5,10,25,40,1000

 

JS Boolean(逻辑)对象

  • 我们将Boolean对象理解为一个产生逻辑值得对象包装器。将非逻辑值转换为逻辑值
  • true / false
  • 0、空字符串、null、NaN、-0、undefined 为false
  • 1、’false’(这是一个字符串)为true

JS Math(算数)对象

  • Math对象的作用是:执行普通的算数任务
  • round()
    • 四舍五入 转换为整数
    • document.write(Math.round(0.50) + "<br />”)   // 1
      document.write(Math.round(0.49) + "<br />”)   // 0
      document.write(Math.round(-4.40) + "<br />”)  // -4
      document.write(Math.round(-4.60))             // -5

  • random()

    • 返回 0 - 1 之间的随机数

  • max()/ min()

    • 返回两个给定的数中的较大/小的数。(ECMASCript v3之前,该方法只有两个参数)
    • document.write(Math.max(7.25, -4, 7.30))  // 7.3

  • 使用 floor() 和 random() 返回0-11之间的随机数

    • floor() 对数进行下舍入
    • document.write(Math.floor(Math.random()*11))

JS RegExp对象

  • RegEx是正则表达式的缩写。
  • 当检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp就是这种模式。
  • 简单的模式可以是一个独立的字符,负责的模式可以包括了很多的字符,并可用于解析、格式检查、替换等。可以规定字符串中的检索位置,以及要检索的字符类型。
  • 定义RegExp对象
    • RegExp对象用于存储检索模式。
    • var patt1 = new RegExp(“e”);  // 模式为 e

  • RegEx对象有三个方法:test()、exec()、compile()

  • test()

    • 检索字符串中的指定值,返回true或false
    • var patt1=new RegExp("e");
      document.write(patt1.test("The best things in life are free"));  // 该字符串存在 e  所以返回true
 

  • exec()

    • 检索字符串中的指定值,返回值是被找到的值。如果没有发现匹配,则返回null.
    • var patt1=new RegExp(“ee");
      document.write(patt1.test("The best things in life are free"));  // ee

  • 向RegExp对象中添加第二个参数,以设定检索。

    • 例如,如果需要找到所有某个字符的所有存在,则可以使用“g”参数(“global”)
    • 参数手册:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp
    • 使用“g”参数时,工作原理:
      • 找到第一个“e”,并存储其位置
      • 如果再次运行exec(),则从存储的位置开始检索,并找到下一个“e”,并存储其位置
      • var patt1=new RegExp("e","g");
        do {
            result=patt1.exec("The best things in life are free");
            document.write(result);
        }
        while (result!=null)
        eeeeeenull

  • compile()

    • 既可以改变检索模式,也可以添加或删除第二个参数
    • var patt1=new RegExp("e");
      document.write(patt1.test("The best things in life are free")); // true

      patt1.compile("d");
      document.write(patt1.test("The best things in life are free"));  // false 字符串中存在 e 而没有 d

对象调用方法

function temp(){
console.log('跑起来');
}
var dog = {
age : 5,
run : temp,
// 一般都是把函数封装到对象的里面
run2 : function () {
console.log(this.age + '岁的狗跑起来'); //this == self
}
};
dog.run(); // JS里的对象是这样调用方法的 跑起来
dog.run2(); // 5岁的狗跑起来 dog.age = 100; //age变为100
dog.run = function () {
console.log(this.age + '岁的狗叫了');
};
dog.run(); // 100岁的狗叫了 var dog2 = {
age : 1
}; dog2.run = dog.run;
dog2.run(); //1岁的狗叫了

JS 学习(四)对象的更多相关文章

  1. js 学习四 对象应用 吃货游戏

    游戏来源于 Mdn学习网站: 该例子用于对象的理解非常有效(建议看完上面网站的内容在开始练习) 弹球 body { margin: 0; overflow: hidden; font-family: ...

  2. js学习日记-对象字面量

    一.对象字面量语法 var person={ name:'小王', age:18, _pri:233 } 成员名称的单引号不是必须的 最后一个成员结尾不要用逗号,不然在某些浏览器中会抛出错误 成员名相 ...

  3. JS学习四(BOM DOM)

    BOM                Screen对象 console.log(window.width);//屏幕宽度 console.log(window.height);//屏幕高度 conso ...

  4. js学习--浏览器对象计时器setInterval()与setTimeout()的使用与区别

    一.setInterval()与setTimeout()的定义: 二.setInterval()与setTimeout()的使用:    1.setInterval()与clearInterval() ...

  5. Hibernate基础学习(四)—对象-关系映射(上)

    一.映射对象标识符      Java语言按内存地址来识别或区分同一个类的不同对象,而关系数据库按主键值来识别或区分同一个表的不同记录.Hibernate使用对象标识符(OID)来建立内存中的对象和数 ...

  6. spring学习 四 对象的创建

    spring中,有三种创建对象的方式 (1)构造创建 (2)实例工厂构造 (3)静态工厂构造 一  构造器创建 在构造器创建对象时,有无参构造和有参构造 两种 (1)在spring中,默认的是无参构造 ...

  7. Node.js学习笔记(四): 全局对象

    在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性. 这 ...

  8. web前端学习(四)JavaScript学习笔记部分(6)-- js内置对象

    1.JS内置对象-什么是对象 1.1.什么是对象: JavaScript中的所有事物都是对象:字符串.数值.数组.函数 每个对象带有属性和方法 JavaScript允许自定义对象 1.2.自定义对象: ...

  9. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

随机推荐

  1. Android——JDK的get请求方式

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  2. [THINKING IN JAVA]复用类

    7 复用类 7.1 组合 即在一个类中使用另一个类作为成员变量,这是复用了现有程序代码的功能,而非形式. 7.2 继承 关键字:extends,这种复用是形式的复用,是一种可扩展和限制的复用: 复用: ...

  3. 使用 openssl 生成证书

    一.openssl 简介 目前最流行的 SSL 密码库工具官网:https://www.openssl.org/source/ 构成部分 密码算法库 密钥和证书封装管理功能 SSL通信API接口 用途 ...

  4. Java 使用线程方式Thread和Runnable,以及Thread与Runnable的区别

    一. java中实现线程的方式有Thread和Runnable Thread: public class Thread1 extends Thread{ @Override public void r ...

  5. Linux GCC常用命令

    1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Compilation) 2.3汇编(Assembly) 2.4连接(Linking) 3多个程序文件的编译 4检错 5库文件连接 5.1编译成 ...

  6. C#将exe运行程序嵌入到自己的winform窗体中

    以下例子是将Word打开,然后将它嵌入到winform窗体中,效果如下图:C将exe运行程序嵌入到自己的winform窗体中 - kingmax_res - iSport注意:该方法只适用于com的e ...

  7. 优化Select 语句的原则

    优化Select 语句的原则 -摘抄<SQL Server 2005 性能监测与优化> Select 语句是数据库应用系统中最常用的语句之一,Select 语句设计的好坏直接影响到应用程序 ...

  8. Android引用项目出现ClassNotFoundException

    Android中在引用其他工程,尤其是github中的相关库时,如果引用关系设置的不对,很容易出现ClassNotFoundException,例如下面的异常信息 07-26 12:47:51.549 ...

  9. SPOJ bsubstr

    题目大意:给你一个长度为n的字符串,求出所有不同长度的字符串出现的最大次数. n<=250000 如:abaaa 输出: 4 2 1 1 1 spoj上的时限卡的太严,必须使用O(N)的算法那才 ...

  10. IOS自定义表格UITableViewCell

    在UITableView中,自定义表格,最原始是继承UITableViewCell,然后通过写代码方式去搞,但是这个费事了. 1.在storyboard中 给一个ViewController的tabi ...