zoukankan      html  css  js  c++  java
  • javascript笔记

    javascript学习笔记
    <script>
      function change(){
        x = document.getElementById("demo");//找到元素
        x.innerHTML = "change the element";//也可以写在一起documen.getElementbyId("demo").innerHTML="change the

    element";
        x.style.color = "#ff0000";    //改变内容、颜色、图片等任意HTML元素的大多数属性
       
    }
    </script>
    如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。

    请使用 "id" 属性来标识 HTML 元素:

    JavaScript 对大小写是敏感的。

    JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。html中用<pre></pre>标签可以显示任意的空格

    您可以在文本字符串中使用反斜杠对代码行进行换行(在结构如:document.write/
    ("123");处不可以)。如:
    document.write("Hello /
    Word!");

    在代码开始处,统一对需要的变量进行声明。

    Undefined 这个值表示变量不含有值。
    可以通过将变量的值设置为 null 来清空变量。
    ========
    数组:

    如果你需要在数组内指定数值或者逻辑值,那么变量类型应该是数值变量或者布尔变量,而不是字符变量。
    声明并初始化一个数组
    var cars = new Array();
     cars[0] = "Audi";
     cars[1] = "BMW";
     cars[2] = "Volvo";
    或者
    var cars = ["Audi","BMW","Volvo"];是中括号"[]"。!!
    //使用 sort() 方法从字面上对数组进行排序。
    document.write(arr.sort());
    //使用 sort() 方法从数值上对数组进行排序。
    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

    Array对象属性 :constructor   返回对创建此对象的数组函数的引用
                    prototype     使你有能力向对象添加属性和方法

    arr1.concat(arr2);//合并数组
    var arr = new Array(3);

    join()将数组的所有元素组成一个字符串
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    document.write(arr.join());
    document.write("<br />");
    document.write(arr.join("."));
    //结果join("连接符")默认为“,”
    George,John,Thomas
    George.John.Thomas


    对象:
    创建对象的实例:(类似构造函数)
    ------
    <script type="text/javascript">
    function person(firstname,lastname,age,eyecolor)
    {
    this.firstname=firstname
    this.lastname=lastname
    this.age=age
    this.eyecolor=eyecolor
    }
    myFather=new person("John","Adams",35,"black")
    document.write(myFather.firstname + " 的年龄是 " + myFather.age + " 岁。")
    </script>
    ---------
    对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔
    var person={firstname:"Bill", lastname:"Gates", id:5566};

    var person = {};
    person.firstname = "Bill";
    person.lastname = "Gates";
    person.id = 5566;

    当您声明新变量时,可以使用关键词 "new" 来声明其类型
    var carname=new String;
    var x=      new Number;
    var y=      new Boolean;
    var cars=   new Array;
    var person= new Object;

    如果把数字与字符串相加,结果将成为字符串

    x = 5;
    ===全等(值和类型)  x===5 为 true;x==="5" 为 false

    break 语句用于跳出循环。
    continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。

    JavaScript 标签(类似C#的goto语句,需在语句前带":")

    continue 语句(带有或不带标签引用)只能用在循环中。
    break 语句(不带标签引用),只能用在循环或 switch 中。
    通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:

    删除元素
    找到您希望删除的子元素,然后使用其 parentNode 属性来找到父元素
    var child=document.getElementById("p1");
    child.parentNode.removeChild(child);
    ====

    为字符串添加样式
    var txt="Hello World!"
    document.write("<p>Big: " + txt.big() + "</p>")
    使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置。(位置从零开始,有则返回位置,无则返回-1)
    var str1 = "abcdefg"; var str2 = "ef"; str1.indexOf(str2);(indexof没反应)
    使用 match() 来查找字符串中特定的字符,如果找到的话,则返回这个字符。没有返回null。
    使用 replace() 方法在字符串中用某些字符替换另一些字符。
    var str="Visit Microsoft!"
    document.write(str.replace(/Microsoft/,"W3School"))
    ====

    时间日期

    Date 对象自动使用当前的日期和时间作为其初始值。

    如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

    表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
    var myDate=new Date()
    myDate.setFullYear(2013,7,14)   //时间是8月

    document.write(Date());//返回当日的日期和时间
    var d=new Date();
    document.write("从 1970/01/01 至今已过去 " + d.getTime() + " 毫秒");
    //从 1970/01/01 至今已过去 1364279806425 毫秒
    var time=new Date().getHours();//获取小时数
    ====

    在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:
    setTimeout()      //var t=setTimeout("javascript语句",毫秒)
    setTimeout (表达式,延时时间)
    setTimeout(表达式,交互时间)
    延时时间/交互时间是以豪秒为单位的(1000ms=1s)
    setTimeout  在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
    setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式

    未来的某时执行代码
    clearTimeout()    //clearTimeout(setTimeout_variable)
    取消setTimeout()

    在网页上显示一个钟表
    <script type="text/javascript">
    function startTime()
    {
    var today=new Date()
    var h=today.getHours()
    var m=today.getMinutes()
    var s=today.getSeconds()
    // in front ofadd a zero  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>

    ====

    Math算数对象:执行常见的算术任务(Math.round(3.49)结果3)
    round()返回最近的整数值
    random()返回0到1之间的随机数

    =========
    RegExp正则表达式??
    RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

    test() 方法检索字符串中的指定值。返回值是 true 或 false。
    通过 new 关键词来定义 RegExp 对象。以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e":
    var patt1=new RegExp("e");//当您使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 "e"。
    document.write(patt1.test("The best things in life are free"));

    exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

    compile() 方法用于改变 RegExp。既可以改变检索模式,也可以添加或删除第二个参数。
    ===========

    三种消息框
    警告框  alert("文本");
    确定框  Confirm("text");
    提示框  prompt("文本","默认值");


    cookie???
    ==============
    try...catch 实例
    ------
    <script type="text/javascript">
    var txt=""
    function message()
    {
    try
       {
       adddlert("Welcome guest!")
       }
    catch(err)
       {
       txt="本页中存在错误。\n\n"
       txt+="错误描述:" + err.description + "\n\n"
       txt+="点击“确定”继续。\n\n"
       alert(txt)
       }
    }
    </script>

    -------
    <script type="text/javascript">
    var txt=""
    function message()
    {
    try
       {
       adddlert("Welcome guest!")
       }
    catch(err)
       {
         txt="本页中存在错误。\n\n"
         txt+="点击“确定”继续查看本页,\n"
         txt+="点击“取消”返回首页。\n\n"
         if(!confirm(txt))
             {
             document.location.href="/index.html"
             }
       }
    }
    </script>
    -------
    <script type="text/javascript">
    var x=prompt("请输入 0 至 10 之间的数:","")
    try
    {
    if(x>10)
      throw "Err1"
    else if(x<0)
      throw "Err2"
    else if(isNaN(x))
      throw "Err3"
    }
    catch(er)
    {
    if(er=="Err1")
      alert("错误!该值太大!")
    if(er == "Err2")
      alert("错误!该值太小!")
    if(er == "Err3")
      alert("错误!该值不是数字!")
    }
    </script>
    -------
    ==============

  • 相关阅读:
    mysql索引
    mysql视图
    pymysql
    web前端基础
    【BZOJ2002】[HNOI2010] 弹飞绵羊(大力分块)
    【BZOJ2730】[HNOI2012] 矿场搭建(找割点)
    网络流(一)——最大流
    欧拉路与欧拉回路
    扫描线(一)——求矩形面积并
    【洛谷3396】哈希冲突(大力分块)
  • 原文地址:https://www.cnblogs.com/duoduo0605/p/2986617.html
Copyright © 2011-2022 走看看