• JavaScript基础学习(一)


    一、什么是JS?(这已经不知道是多少次开始重新学习JS了)

    (1)JS是一种轻量级,跨平台,面型对象的编程语言

    (2)JS是WEB开发的三种核心技术之一(JS、HTML、CSS)

    (3)JS可以用在不同的地方(客户端与服务器端)

    二、JS的数据类型

    6种值类型

    (1)字符型string   字符串或字符

    (2)数字型number  整数或小数

    (3)布尔型boolean    true / false

    (4)不确定型undefined    声明后未赋值

    (5)空型null   不存在的

    (6)Symbol  表示独一无二的值

     3中引用数据类型

    (1)Array  数组

    (2)Object  对象

    (3)Function  函数

    三、命名规范略

    四、JS输出数据方式

    (1)window.alert()  弹出警告框

    (2)document.write   直接写入HTML文档

    (3)innerHTML   写入到HTML元素

    (4)console.log()   写入到浏览器控制台

    五、Js中使用 for  in 循环与for循环 遍历特殊数组

    当数组中个别位置未被定义时,使用for循环与for in 循环会出现不同的效果

    <button onclick="myFunction()">点击这里</button>
    <p id="demo"></p>
    <script>
    function myFunction(){
        var array = new Array();
        var x;
        var txt=""
        array[0] = 1;
        array[3] = 2;
        array[4] = 3;
        array[10] = 4;
        for( x in array ){
            alert(array[x]);     // 依次显示出 1 2 3 4
        } 
        alert(array.length);    // 结果是11
        for( var i=0 ; i<4 ; i++){
            alert(array[i]);     // 依次显示出 1 undefined undefined 2 
        }
        document.getElementById("demo").innerHTML = txt;
    }
    </script>

    六、continue与break的区别
    break用于跳出循环;continue用于跳过当前一个迭代,后续代码会依旧执行
    break(不带标签)只能用在循环与switch中;continue(带不带标签)只能用在循环中
    通过添加标签,break可以用于跳出任何JS代码块
    cars=["BMW","Volvo","Saab","Ford"];
    list: {
    document.write(cars[0] + "<br>");
    document.write(cars[1] + "<br>");
    document.write(cars[2] + "<br>");
    break list; document.write(cars[3] + "<br>");
    document.write(cars[4] + "<br>");
    document.write(cars[5] + "<br>");
    }
    //输出结果为

    BMW
    Volvo
    Saab

    七、Null 与 Undefined
    typeof undefined             // undefined
    typeof null                  // object
    null === undefined           // false
    null == undefined            // true
    undefined 是未初始化
    Null是一个变量初始化了,但是什么都没有给

    八、数据类型小知识

    (1)NaN的数据类型是 number
    (2)Null的数据类型是 object
    (3)array
    的数据类型是 object
    (4)date
    的数据类型是 object
    (5)undefined的数据类型是 undefined
    九、构造函数
    构造函数的特点:
    (1)首字母大写以便和普通函数区分
    (2)使用this来指向即将要生成的实例对象
    (3)使用new来生成实例对象

    function Person(name,age){
    this.name = name;
    this.age = age;
    this.sayHello = function(){
    console.log(this.name +"say hello");
    }
    }

    var boy = new Person("bella",23);
    boy.sayHello(); // bella say hello

    构造函数的缺点:同一个构造函数的对象实例之间无法共享属性与方法    为此  JS提供了prototype属性来解决这个问题

    十、时间日期类型

    getDate()  返回一个月中的某一天(1~31)

    getDay()  返回一周中的某一天(0~6)

    getFullYear()  以四位数字的形式返回年份

    getHours()  返回一天中的小时(0~23)

    getMinutes()  返回分钟数(0~59)

    getSecones()  返回秒钟数(0~59)

    getMonth()  返回月份(0~11)

    十一、自动类型转换小知识

    var test = “5” + 1   //返回 “51”

    var test = “5” - 1   //返回 4 

    十二、typeof 与 instanceof 的区别

    typeof用于返回一个表达式或变量的数据类型(string、number、boolean、object、undefined、function)

    可以使用typeof来确认一个变量是否存在   如  if( typeof a!= "undefined" ){}   而不是  if( a )  如果a未定义的话将会产生错误

    判断某个变量是否是某个对象的实例时需要使用instanceof

    arr = [ 1 , 2 , 3 ]

    if ( arr instanceof Array ){}

    十三、正则表达式

    1、正则表达式是一个由字符序列形成的搜索模式

    2、他可以是一个简单的字符或是一个更复杂的模式

    3、正则表达式可以用于所有文本搜索和文本替换的操作

    语法规则:/正则表达式主体/修饰符

    正则表达式通常用于两个字符串方法:search()与 replace()

    例:

    var str = “hello OHaYo”;

    var n = str.search(/OHaYo/i);  //结果为6

    var str = "hello OHaYo fendou!"

    var n = str.replace("OHaYo" , "QHY")   //结果为hello QHY fendou

    // var n = str.replace(/OHaYo/i , "QHY")

    正则表达式修饰符:

    (1)i  不区分大小写

    (2)g  在匹配到第一个结果后不会停止,继续匹配

    (3)m  执行多行匹配

    n+  匹配任何包含至少一个n的字符串

    n*  匹配任何包含0个n或者多个n的字符串

    n?   匹配任何包含0个n或一个n的字符串

    test()方法是一个正则表达式方法   用于检验一个字符串是否匹配某个模式  如果自负转中含有指定字符  返回true  否则返回false

    var patt = /e/;

    var result = patt.test("zhe shi yi shou jian dan de xioa qing ge");

    exec()方法类似  只不过如果匹配成功则返回一个数组保存匹配结果  否则返回null

    十四、几个常见的正则表达式书写

    (1)判断是否含有小数   /^d+.+d+$/

    (2)是否由8为数字构成  /^[0-9]{8}$/

    十五、JS中的异常处理(try throw catch)

    try 语句测试代码块中的错误

    throw语句创建自定义错误

    catch语句处理错误(当错误发生后所执行的代码)

    十六、变量提升与函数提升

    函数声明与变量声明总是会被解释器“悄悄”的提升到方法体的最顶部。

    只有声明的变量会提升,初始化的不会

    需要注意的是:函数声明与变量声明都会提升

    但是函数声明优先,会首先被提升,然后才是变量  如下所示:

    变量与函数提升以后

  • 相关阅读:
    鸡啄米vc++2010系列19(常用控件:静态文本框)
    鸡啄米vc++2010系列18(颜色对话框)
    鸡啄米vc++2010系列17(字体对话框)
    鸡啄米vc++2010系列16(文件对话框)
    鸡啄米vc++2010系列15(消息对话框)
    鸡啄米vc++2010系列14(一般属性页对话框的创建)
    鸡啄米vc++2010系类13(向导对话框的创建)
    鸡啄米vc++2010系列12(属性页对话框)
    鸡啄米vc++2010系列11(非模态对话框的创建)
    鸡啄米vc++2010系列10(模态对话框及其弹出过程)
  • 原文地址:https://www.cnblogs.com/zhuyan-dailycheck/p/9811378.html
Copyright © 2020-2023  润新知