zoukankan      html  css  js  c++  java
  • 3.JavaScript

    简介

    JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型

    1.注释

    单行   //
    多行   /*   */

    2.引用方式

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="commons.js"></script>
    </head>
    <body>
        <script>
            alert('derek')
        </script>
    </body>

    3.JavaScript代码要放在<body>最下面,可以让网页尽快的呈现给用户,减少浏览者的等待时间,避免因为JS代码块阻塞网页的呈现。

    常用数据类型

    1.变量

    局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量

    // 全局变量
    name = 'derek';
    
    function demo() {
        // 局部变量
        var age = 18;
        // 全局变量
        gender = 'M'
    }

    2.数字

    JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。

    转换:

    • parseInt(..)    将某值转换成数字,不成功则NaN
    • parseFloat(..) 将某值转换成浮点数,不成功则NaN

    特殊值:

    •  NaN,非数字。可使用 isNaN(num) 来判断。
    • Infinity,无穷大。可使用 isFinite(num) 来判断

    3.字符串

    (1)charAt (输入索引位置获取字符)

    a='derek'
    "derek"
    a.charAt(2)
    "r"
    a.charAt(4)
    "k"

    (2)substring (输入起始位置,结束位置获取字符)

    a.substring(2,4)
    "re"

    (3)lenght (获取当前字符串长度)

    a.length
    5

    (4)concat (字符串拼接)

    a.concat('123')
    "derek123"

    (5)查看索引位置

    a.indexOf('k')
    4
    a.indexOf('r')
    2

    (6)split (分割字符)

    a.split('e')
    (3) ["d", "r", "k"]
    a.split('e',1)
    ["d"]
    a.split('e',2)
    (2) ["d", "r"]
    String.length    字符串的长度
    String.trim()    移除空白
    String.trimLeft()    移除左侧空白
    String.trimRight()    移除右侧空白
    String.concat(value, ...)    拼接
    String.slice(start, end)    切片
    String.split( )    分割
    String.search( )    从头开始匹配,返回匹配成功的第一个位置(g无效)
    String.match( )    全局搜索,如果正则中有g表示找到全部,否则只找到第一个
    String.replace( )    替换,正则中有g则替换所有,否则只替换第一个匹配项;
    $数字:匹配的第n个组内容;
    $&:当前匹配的内容;
    $`:位于匹配子串左侧的文本;
    $':位于匹配子串右侧的文本
    $$:直接量$符号
    String.charAt( )    返回字符串中的第n个字符
    String.charCodeAt( )    返回字符串中的第n个字符的代码
    String.fromCharCode( )    从字符编码创建—个字符串
    String.indexOf( )    查找子字符串位置
    String.lastIndexOf( )    查找子字符串位置
    String.localeCompare( )    用本地特定的顺序来比较两个字符串
    String.substr( )    抽取一个子串
    String.substring( )    返回字符串的一个子串
    String.toLocaleLowerCase( )    把字符串转换小写(针对地区,在不知道程序在哪个语言环境中运行时用)
    String.toLocaleUpperCase( )    将字符串转换成大写(针对地区)
    String.toLowerCase( )    小写
    String.toUpperCase( )    大写
    String.toString( )    返回原始字符串值
    String.toString()    返回原始字符串值
    String.valueOf( )    返回原始字符串值
    更多

    4.布尔值

    true(真)和false(假),要用小写

    ==      比较值相等
    !=       不等于
    ===   比较值和类型相等
    !===  不等于
    ||        或
    &&      且

    5.数组

    a = [11,22,33,44]     -->数组
    (4) [11, 22, 33, 44]
    a.splice(1,2)         -->切片
    (2) [22, 33]
    a.splite(1,3,66)
    Array.length    数组的大小
    Array.push()    尾部添加元素
    Array.pop()    删除并返回数组的最后一个元素
    Array.unshift()    在数组头部插入一个元素
    Array.shift( )    在数组头部移除一个元素
    Array.slice( )    切片
    Array.reverse( )    反转
    Array.join( )    将数组元素连接起来以构建一个字符串
    Array.concat( )    拼接
    Array.sort( )    排序
    Array    对数组的内部支持
    Array.splice( start, deleteCount, value, ...)    
    插入、删除或替换数组的元素
    
    obj.splice(n,0,val) 指定位置插入元素
    obj.splice(n,1,val) 指定位置替换元素
    obj.splice(n,1)    指定位置删除元素
    Array.toLocaleString( )    把数组转换成局部字符串
    Array.toString( )    将数组转换成一个字符串

    6、字典 

    创建字典

    >dic = {'k1':'v1','k2':'v2'};
    <Object {k1: "v1", k2: "v2"}

    语句

    1.循环

    (1)for循环,两种方式

        a = [11,22,33,44]
        for(var item in a){
            console.log(a[item])
        }
    11
    22
    33
    44
    a = [11,22,33,44]
            for(var i=0;i<a.length;i += 1){
                console.log(a[i])
            }
    
    11
    22
    33
    44

    (2)while循环

    while(条件){
        // break;
        // continue;
    }

    2.条件语句

    (1)if语句

    if(条件){
      
        }else if(条件){
              
        }else if(条件){
     
        }else{
     
        }

    (2)switch条件语句

    switch(name){
            case '1':
                age = 123;
                break;
            case '2':
                age = 456;
                break;
            default :
                age = 777;
        }

    函数

    // 普通函数
        function func(arg){
            return true;
        }
               
    // 匿名函数
        var func = function(arg){
            return "derek";
        }
       
    // 自执行函数
        (function(arg){
            console.log(arg);
        })('derek')

    正则表达式

    1.匹配模式 

    /.../  用于定义正则表达式
    /.../g 表示全局匹配
    /.../i 表示不区分大小写
    /.../m 表示多行匹配

    2.test

    (判断字符串是否符合规定的正则)

    rep = /d+/             -->只要有符合匹配的就返回true
    /d+/
    rep.test('derek')
    false
    rep.test('derek123')
    true
    
    rep = /^d+$/          -->全部符合匹配的才返回true
    /^d+$/
    rep.test('derek123')
    false
    rep.test('123')
    true

    3.exec

          exec(string)    用于获取正则匹配的内容

    4.规则

    d     数字,等同于[0-9]
    D     非数字,等同于[^0-9]
    s     空白字符
    S     非空白字符
    w     字母、数字、下划线,等同于[0-9A-Za-z_](汉字不属于w)
    W     非字母、数字、下划线,等同于[^0-9A-Za-z_]
    元字符         名称              匹配对象
    .             点号              单个任意字符(除回车
    、换行
    、行分隔符u2028和段分隔符u2029外)
    []            字符组             列出的单个任意字符
    [^]           排除型字符组        未列出的单个任意字符
    ?             问号               匹配0次或1次
    *             星号               匹配0交或多次
    +             加号               匹配1次或多次
    {min,max}     区间量词           匹配至少min次,最多max次
    ^             脱字符             行的起始位置
    $             美元符             行的结束位置
    |             竖线               分隔两边的任意一个表达式
    ()            括号               限制多选结构的范围,标注量词作用的元素,为反向引用捕获文本
    1,2...      反向引用            匹配之前的第一、第二...组括号内的表达式匹配的文本

    定时器

    setInterval(“执行函数”,“时间”)表示创建一个定时器

      <script>
           function func(){
               console.log(1);
           }
           //创建一个定时器
           setInterval('func()',5000);   //5000表示5秒,每隔五秒执行一次func()
        </script>

    做个滚动字符的实例

    <body>
        <div id="i1">欢迎来到zhang_derek的blog</div>
        <script>
           function func(){
               var tag = document.getElementById('i1');
               var content = tag.innerText;
               var f = content.charAt(0);
               var l = content.substring(1,content.length);
               var new_content = l + f;
               tag.innerText = new_content;
           }
           setInterval('func()',500);
        </script>
    </body>
  • 相关阅读:
    mkfs -t ext3 错误/dev/sdxx is apparently in use by the system; 解决方法 分类: arm-linux-Ubuntu 2015-01-24 09:43 514人阅读 评论(0) 收藏
    Linux下挂载新硬盘方法 分类: arm-linux-Ubuntu 2015-01-24 09:41 550人阅读 评论(2) 收藏
    RHCE6.4 rpm 安装gcc 分类: arm-linux-Ubuntu 2015-01-23 10:52 339人阅读 评论(0) 收藏
    ubuntu14.04 编译安装highpoint rocketraid 2720驱动 分类: arm-linux-Ubuntu 2015-01-22 17:18 321人阅读 评论(0) 收藏
    Red Hat Enterprise Linux 6 “桌面”、“工作站”、“服务器” 版本差异比较 分类: arm-linux-Ubuntu 2015-01-21 08:49 604人阅读 评论(0) 收藏
    c++11 : range-based for loop
    ntp server
    LevelDB 之 arena
    2-sat
    各种蕴含算法思想的DP
  • 原文地址:https://www.cnblogs.com/derek1184405959/p/8324589.html
Copyright © 2011-2022 走看看