zoukankan      html  css  js  c++  java
  • 《JavaScript高级程序设计》心得笔记-----第一篇章

    第一章

    JavaScript由ECMAScript、DOM、BOM组成。其中BOM功能在HTML5中有了正式的规范,使BOM的兼容性越来越高。

    第二章

    1、<script>属性中的async属性是表示应该立即下载版本但是不应该妨碍页面中的其他操作,只对外部文件有效,async="async"。type属性默认text/javascript。defer属性

       可以延迟文档完全被解析和现实之后才实现,只对外部文件有效,defer="defer"。

    2、在<script>中嵌入javascript中,不可以再任何地方使用</script>,不然会被认为是结束标志,如果非要使用,就要在前面加入转义符号

    3、<script>引用时使用<script />不符合HTML规范,而且不能得到一些浏览器,尤其是IE的正确解析,所以使用<script></script>

    4、XHTML代码规范比HTML更加严格,比如a < b,在HTML中可以解析,但是在XHTML中<后面不能跟空格,所以可以使用CData片段,把比较的放在

       //<![CDATA[

           代码片段

       //]]>

    5、当浏览器不支持脚本或者浏览器支持脚本,但是脚本被禁用的时候,如果有<noscript>的话,就会执行里面的内容

    第三章

    1、变量、函数符和操作符区分大小写,第一个字母必须是字母、_、$

    2、严格模式:"use strict",整个脚本启用,就放在顶部,在指定函数前使用,就将严格模式放在一个函数里面。在这个模式下,不能定义函数、参数的名字为eval和arguments,不然回导致语法错误

    3、数据类型包括:Underfined、Null、Boolean、Number、String,typeof可以返回数据类型,未定义的变量默认取得underfined值,非数值转换成数值可以使用Number()[适用于任何数据类型,空字符返回0], parseFloat()[适用于字符串,22.5->22.5]、parseInt()[适用于字符串,空字符返回NaN,小数点不是有效的数字字符,22.5->22]

    4、for-in语句:for(property in expression){代码块}

    5、label语句(给代码加标签):label:statement 比如:start:for(var i = 0;i<count;i++){代码块}

    第四章

    1、只有引用类型值才能添加属性,复制变量值时,新变量受变量的影响,基本类型值不能添加属性,复制变量值时,新变量和变量相互独立

    2、  检测引用类型使用instanceof,比如:person instanceof Object

    第五章

    1、创建Object实例的方式:

       (1)先new之后在跟Object的构造函数

    var person = new Object();    -----法二:var person = {};

         Person.name=”aa”;

         Person.age=23;

       (2)对象字面量,属性也可使用字符串,属性使用数值的话会自动转为字符串

    var person = {

            name:”aa”,

            age:23

    }

    2、displayInfo({name:”aa”, age:23})

       function displayInfo(args){}

    3、  (1)var color = new Array();括号里面可以传数值也可以传字符串,其中new可以省略

       (2)数组字面量:var color = [];

    4、数组在末尾添加新项:color[color.length] = “red”;

    5、检测数组:(1)if(value instanceof Array){对数组执行某些操作}

       (2)if(Array.isArray(value)) {对数组执行某些操作}

    6、在数组中:

    1)         toString()可以将每个值得字符串转换为以逗号分隔的字符串,

    2)         valueOf()可以返回的还是数组

    3)         join()加入分隔符

    4)         push()可以接收任意数量的参数,pop()取得最后一项的值

    shift()取得第一项的值,unshift()能在数组的前端添加任意个项并返回新数组的长度

    5)         重排序:sort() 升序    reverse() 降序

    6)         Concat();可以在原有数组的基础上再创建一个副本,在将接受到的参数添加到副本的末尾。例:

           var color = [“blue”,”red”];

           var color2=color.concat(“yellow”);// blue,red, yellow

    7)         slice()能够基于当前的数组中的一或多个项创建一个新的数组。例:slice(1)从位置1开始复制,slice(2,4)从位置2开始复制到3结束,slice(-2,-1)从位置倒2开始复制

    8)         splice()向数组的中部插入数组,(1)删除:splice(0,2)删除数组前两项

    (2)插入:splice(2,0,”red”,”blue”)从当前数组位置2插入字符串

    (3)替换:splice(2,1,”red”,”blue”)删除数组位置2的项,再从位置2开始插入字符串

    9)         位置方法:(ie9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome)

    IndexOf();从开头开始查找

    lastIndexOf();从结尾处开始查找

    10)     迭代方法:every(),some(),filter(),map(),forEach()

    11)     归并方法:reduce();从头到尾  reduceRight();从尾到头

    7、Date

    1)         var date = new Date(Date.parse(“May 21 2016”));

        var date = new Date(Date.UTC(2016,2,21,17,31,55));

    2)         toDateString();显示星期几,月,日,年

    toTimeString();显示时分秒和时区

    toLocalDateString();以特定于地区的格式显示星期几、月、日和年

    toLocalTimeString();以特定于实现的格式显示时分秒和时区

    toUTCString();以特定于实现的格式完整的UTC日期

       8、正则表达式:(RegExp())

    1)         g:全局模式  i:不区分大小写  m:多行模式

          需要转义的元符号:([{^$|)?*+.}

    2)         global:是否设置了g标志

    ignoreCase:是否设置了i标志

    lastIndex:表示开始搜索下一个匹配项的字符位置,从0开始算起

    multiline: 是否设置了m标志

    source:正则表达式的字符串表示

    3)         exec()捕获组的,包含两个额外属性:index和input

    4)         正则表达式的构造函数属性:

    input($_):最近一次要匹配的字符串

    lastMatch($&):最近一次的匹配项

    lastParen ($+):最近一次匹配的捕获组

    leftContext($`):input字符串中lastMatch之前的文本

    multiline($*):布尔值,多行模式

    rightContext($’) :input字符串中lastMatch之后的文本

          ps:使用短属性的时候要记得加上[],比如:[“$+”]

    opera不支持:input、lastMatch、lastParen、multiline

            ie不支持:multiline

    未完待续。。。

  • 相关阅读:
    Linux命令之查看cpu个数_核数_内存总数
    Python文件操作大全,随机删除文件夹内的任意文件
    Python文件操作:同一个文件进行内容替换
    异步请求Python库 grequests的应用和与requests库的响应速度的比较
    查询MySQL某字段相同值得重复数据
    /var/redis/run/redis_6379.pid exists, process is already running or crashed的解决办法
    人工智能----TensorFlow开篇简介
    Centos6.5+Python2.7 +ffmpeg+opencv2自动安装脚本
    决策统计---指标六要素
    大数据应用分类
  • 原文地址:https://www.cnblogs.com/qzccl/p/5308392.html
Copyright © 2011-2022 走看看