zoukankan      html  css  js  c++  java
  • JavaScript基础

    概念:

    *JavaScript 是一门浏览器脚本语言
    *每个浏览器都有JavaScript解析引擎,可以不用编译,直接运行
    *功能
        JavaScript可以增强和html之间的交互,可以操作html中的元素,完成一些动态效果
    *JavaScript = ECMAScript + JavaScript特有的(BOM+DOM)
    

    js基本语法

    *js和html的结合方式
      内部js
      定义<script>,标签内容就是js代码
      外部js
      定义<script>,通过src属性引入外部的js文件
    *注意:
        1.<script>可以定义在html页面的任何地方,但是定义的位置会影响执行顺序.
        2.<script>可以定义多个.
    

    js注释

    *单行注释: //
    *多行注释: /* */
    

    js数据类型

    *原始数据类型(基本数据类型) 
        *number:数字    整数/小数/NaN(not a number 一个不是数字的数字类型)
        *string: 字符串。 字符串 “abc” “a” ‘abc’, 'abc'和"abc"都是字符串
        *boolean: true和false
        *null: 一个对象为空的占位符
        *undefined: 未定义。如果一个变量没有给初始化值则会被默认赋值为undefined
    引用数据类型: 对象
    

    js变量 var

    *变量
        存储数据的内存空间.
    *Java语言是强类型语言,而JavaScript是弱类型语言。
     强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据
     弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
    *var 变量名 = 初始化值;
    typeof() 运算符
    获取变量的类型.
    

    js运算符

    *一元运算符: 只有一个运算数的运算符
        ++,--,+,-
        注意点:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换.
        *string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
        *boolean转number:true转为1,false转为0;
    

    js流程控制语句

        *switch
        <script>
        var a;
        switch (a){
            case 1:
                alert("number");
                break;
            case "abc":
                alert("string");
                break;
            case true:
                alert("true");
                break;
            case null:
                alert("null");
                break;
            case undefined:
                alert("undefined");
                break;
        }
    </script>
        *while
        <script>
        //1 ~ 100 求和  5050
        var sum = 0;
        var num = 1;
        while (num <= 100) {
            sum += num;
            num++;
        }
        alert(sum);
    </script>
        *for
        <script>
        //1 ~ 100 求和  5050
        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            sum += i;
        }
        alert(sum);
    </script>
    

    JS对象

    1.String对象
        *创建
        var str=new String("abc");
        var str="abc";
        *方法
        1.bold()对字符串进行加粗
        2.fontcolor():对字符串字体添加颜色
        3.fontsize():修改字符串大小
        4.link("http://www.baidu.com") 给字符串添加超链接
        5.concat(str) 连接字符串
        6.charAt()返回字符串
        7.indexof()检索字符串,返回位置,存在返回1.不存在返回-1
        *属性:
        length:返回字符串长度
    

    Function函数(方法)对象

        *创建    
         1.var 方法名=function(参数列表){方法体}
         2.function 方法名(参数列表){方法体}
        *属性
        length: 返回该方法对象的参数个数.
        *特点:
        1.方法定义,返回值不需要写,形参不用写
        2.方法的调用,只看方法名,不看形参
        3.相同方法名的方法,将会被后一个覆盖
        4.在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数,也就是说我们传递的参数都会被封装到arguments中
       /**
         * 求任意个数的和
         */
        function add (){
           var sum = 0;
            for (var i = 0; i < arguments.length; i++) {
                sum += arguments[i];
            }
            return sum;
        }
    
        var sum = add(1,2,3,4);
        alert(sum);
    注意点:
        *js的函数重载问题
        *什么是重载? 方法名相同, 参数不同
        *js重载是否存在?
        1.js中不存在重载
        2.可以通过arguments数组来模拟重载.
    

    Array

    *创建
    1.Array arr=new Array{元素列表};
    2.Array arr=[元素列表];
    3.Array arr=new Array(默认长度);
    *方法
        1.concat()连接两个或两个以上数组,并返回
        2.pop()删除最后一个元素
        3.push()在数组最后变添加一个元素
        4.join()将数组的所有元素放入一个字符串。元素通过指定分隔符隔开
        5.reverse()颠倒数组中元素的顺序
    *特点:
        1.在js中,数组元素是可以不同的
        2.在js中,数组的长度是可以改变的
    

    Date

    *创建
        var date =new Date();
    *方法
        *toLocaleString():返回当前date对象对应的本地字符串格式
        *getTime():获取毫秒值,返回当前对象描述的时间到1970年1月1日的毫秒值差
    

    Math对象

    *创建
        Math对象不需要创建,是一个全局对象,直接调用Math.方法名()调用
    *方法
        1.ceil(x):向上进行舍入
        2.floor(x):向下进行舍入
        3.random()获取0-9之间的随机数
        4.round(x):四舍五入
    *属性
        PI:返回圆周率
        E:返回常量e
    

    RegExp对象(正则表达式)

    RegExp对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
    *定义字符串的组成规则
        1.单个字符串[],[ab]表示a或b中的一个,[a-zA-Z0-9] 表示a-z或A-Z或0-9中的一个字符
        2.特殊符号表达特殊含义的字符
            d:单个数字字符——[0-9]
            w:单个单词字符——[a-zA-Z0-9]
        2.量词字符
            1.?:表示0个或1次
            2.*:表示0次或多次
            3.+:1表示1次或多次
            4.{m,n}:表示最少m次,最多n次
            5.{,n}:表示最多n次
            6.{m,}:表示最少m次
        3.开始结束符
            ^:表示开始
            $:表示结束
    *创建
        1.var reg=new RegExp("正则表达式“);
        2.var reg=/正则表达式/;
    *方法:
        test(参数):验证指定字符串是否符合正则表达式
    

    Global对象

    *特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名();
    *方法
        1.encodeURI():URl编码
        2.decodeURI():UIL解码
        3.encoudeURIComponent():URl编码,编码字符更多
        4.decodeURIcomponent():URl解码,解码字符更多
        5.pareInt():将字符串转化为数字,逐一字符进行转换,直到不是数字位置
        6.eval():讲 JavaScript 字符串,并把它作为脚本代码来执行。
    *例子:URL编码
        桂朝阳–%E6%A1%82%E6%9C%9D%E9%98%B3
    注意: 这里使用URL编码,在UTF-8编码下,一个中文字符是占3个字节,在GBK下是占2个字节,这里一个%表示一个字节,一个字节有8bit, 每4个bit转为十六进制,所以就显示出上面的编码.
  • 相关阅读:
    Hackerrank--Savita And Friends(最小直径生成树MDST)
    Hackerrank--Kundu and Tree
    Hackerrank--String Function Calculation(后缀数组)
    Hackerrank--Ashton and String(后缀数组)
    Foundation 学习
    JS 严格模式
    判断移动设备横竖屏
    Nodejs解析HTML网页模块 jsdom
    百度Map调用
    Jade 报错
  • 原文地址:https://www.cnblogs.com/linjing111/p/12738081.html
Copyright © 2011-2022 走看看