zoukankan      html  css  js  c++  java
  • 003.JavaScript的基本用法

    JavaScript的基本数据类型

     JavaScript里面的数据类型

    JavaScript支持5种简单的数据类型:number,string,boolean,undefined,null。

    number:数字类型

    string:字符串类型

    boolean:布尔类型

    undefined:定义了一个变量但是没有被赋值

    null:表示是一个空

    JavaScript的基本数据类型有数字(在JS中,数字不区分整型和浮点类型)、数组,字符串,布尔(只用两个值,true和false)。

    在JavaScript中申明一个变量:

    PI = 3.14      // 声明一个全局变量,赋值3.14, 数字类型
    
    var a = 6;           // 声明一个局部变量a,为其赋值6,是数字类型
    var b = [1,2,3,4]    // 数组
    var c = "hell world"   //  字符串
    var d = true   // 布尔类型
    var e = {'k1':v1, 'k2':v2, 'k3':v3}    //字典
    
    c = null   // 清空变量c

    字符串类型的常用方法:

    "string".length                           返回字符串长度
    
    "  string ".trim()                           移除字符串的空白
    "  string ".trimLeft()                     移除字符串左侧的空白
    "  string ".trimRight)                    移除字符串右侧的空白
    "string".charAt(n)                        返回字符串中的第n个字符
    "string".concat(string2, string3, ...)               拼接
    "string".indexOf(substring,start)         子序列起始位置
    "string".lastIndexOf(substring,start)     子序列终止位置
    "string".substring(from, to)              根据索引获取子序列
    "string".slice(start, end)                切片
    "string".toLowerCase()                    将字符串转为大写
    "string".toUpperCase()                    将字符串抓为小写
    "string".split(delimiter, limit)          以特定字符分割字符串
    
    // 与正则表达式搭配使用
    "string".search(regexp)                   从头开始匹配,返回匹配成功的第一个位置(g无效)
    "string".match(regexp)                    全局搜索,如果正则中有g表示找到"string".replace(regexp, replacement)     替换,正则中有g则替换所有,否则只替换第一个匹配项,
                                         $数字:匹配的第n个组内容;
                                         $&:当前匹配的内容;
                                         $`:位于匹配子串左侧的文本;
                                         $':位于匹配子串右侧的文本
                                         $$:直接量$符号

    数组类型的常用方法:

    obj.length          数组的大小
    
    obj.push(ele)       尾部追加元素
    obj.pop()           从尾部弹出元素
    obj.unshift(ele)    头部插入元素
    obj.shift()         头部移除元素
    
    // 可用此句完成对数组的插入,删除,替换操作
    obj.splice(start, deleteCount, value, ...)  从start位置开始,删除deleteCount个元素,插入value,...
    
    obj.slice( )        切片
    obj.reverse( )      反转
    obj.join(sep)       将数组元素连接起来以构建一个字符串
    obj.concat(val,..)  连接数组
    obj.sort( )         对数组元素进行排序

    JavaScript的选择和循环语句

    1 if (判断条件){
     2     // js代码
     3 }else if(判断条件){
     4     // js代码
     5 }else{
     6     // js代码
     7 }
     8
     9 // 常用判断符号与逻辑符号
    10 &&    逻辑与
    11 ||    逻辑或
    12 >  <   大于  小于
    13 == !=   判断值
    14 === !==   判断值和类型
    
    选择语句_1
    1 // x代指变量,case为x不动的取值情况,defult当上面的case都不满足执行defult,相当于else
     2 switch(x){
     3     case '1':
     4         var i = 1;
     5         break;
     6     case '2':
     7         var i = 2;
     8         break;
     9     case '3':
    10         var i = 3;
    11         break;
    12     defult:
    13         i = 0;
    14 }
    
    选择语句_2
    1 1. 循环时循环的是索引
     2 a = [11,22,33];
     3 for (var item in a){
     4     console.log(a[item]);    //   在浏览器的console中打印a[item]的值,item是索引
     5 }
     6
     7
     8 a = {'k1':'v1', 'k2':'v2', 'k3':'v3'};
     9 for (var item in a){
    10     console.log(a[item]);
    11 }
    12
    13 2. 常规for循环
    14 for (var i=0; i<10; i++){
    15     //js代码
    16 }
    
    for循环
     var len = 10;
    2 var i = 0;
    3 while(i < len){
    4     console.log(i);  // 代指js代码
    5     i++;
    6 }
     

    JavaScript的函数申明

    与其他编程语言类型,JS也有函数,在JS中申明一个函数特别简单。

    // 常规函数
    function funcname(a, b, c) {
        var a = 0;  // JS代码块
    }
    // 匿名函数,匿名函数只有某一块代码使用,在声明时已经确定由谁来执行它
    setIntervar(function(){
        console.log(123);   // js代码块
    }, 5000)
    // 自执行函数,函数声明完后立即执行并且不会被其他代码调用
    (function(arg){
        console.log(arg);   //js代码块
    })(1)

    JS面向对象

    在JavaScript中,面向对象其实是函数的一种变种,与函数的定义非常类似。

    // 定义一个类
    function Foo(n){
        this.name = n;  // 属性
        // 方法
        this.sayHello = function(){
            console.log("hello,", name);
        }
    }
    
    //  实例化一个对象
    var obj = new Foo('abc');
    obj.name;   // 调用属性
    obj.sayHello();  // 调用方法
    function Foo(n){
        this.name = n;
    }
    
    Foo.prototype = {
        'sayHello': function(){
            console.log("hello,", this.name);
        }
    }
    
    var obj = new Foo('abc');
    obj.name;
    obj.sayHello();

    注:通常使用方式二来定义和使用一个对象。

    1. 定时器,每隔特定的时间执行一次特定的任务,用途十分广泛。

    var a = setInterval(function(){console.log('hello');}, 间隔时间);
    clearInterval(a);     // 清除定时器

    2. 超时器,设置一段时间,比如5秒钟,当时间超过5秒钟后执行某一任务。

    var b = setTimeout(funciton(){console.log('hello')}, 5000);    //  设置超时器
    clearTimeout(b);    // 清除超时器,比如当用户执行某一操作后,取消超时器使用它

     3. 弹出提示框

    alert('message')    // message代指要提示的信息   

     4. 弹出确认框

    //  向用户弹出一个确认框,如果用户选择确认,v=true;否则,v=false。
    var v = confirm('message')   // message为确认提示信息,比如真的要删除吗?

     5. 刷新页面

    location.reload();   // 执行此方法浏览器自动刷新当前页面,可以和定时器配合使用用以定时刷新页面

     6. 页面跳转

    location.href   // 获取当前页面的url
    location.href = url;   // 从当前页面跳转到指定url,可与超时器配合使用,做网站的页面跳转
    location.href = location.href;  //  与location.reload()效果相同,刷新当前页面

    7. eval(使用eval,可将字符串转换成代码执行)

    var s = '1+2';
    var a = eval(s);
    console.log(a);

    8. 序列化

      序列化试将一个对象转化成字符串,方便存储,打印等。在任何一门编程语言中都存在序列化。

      而反序列化是将读取到的字符串转化为对象,方便程序使用。

      在js中,序列化与反序列画的操作如下:

    ls = [1,2,3,4];
    s = JSON.stringify(ls);       //object  --->  string
    console.log(s);
    new_ls = JSON.parse(s)           //string  --->  object
    console.log(new_ls);

    触发JavaScript的事件

    onclick             --- 鼠标点击执行js函数
    onfocus             --- 光标选中执行js函数
    onblur              --- 光标移走执行js函数
    onmouseover         --- 鼠标移到某个标签执行js函数
    onmouseout          --- 鼠标从某个标签移走执行js函数 
  • 相关阅读:
    (最大团) poj 3692
    (floyd+匈牙利算法) poj 3216
    (floyd+匈牙利算法) poj 2594
    (最小点覆盖) hdu 1054
    (最小点覆盖) hdu 4619
    (最小点覆盖) hdu 1498
    (匈牙利算法+贪心) hdu 3729
    (匈牙利算法) hdu 5093
    (匈牙利算法) bzoj 1059
    (二分+匈牙利算法) hdu 2236
  • 原文地址:https://www.cnblogs.com/mt-blog/p/13368732.html
Copyright © 2011-2022 走看看