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

    javascript学习笔记

    简介

    1. javascript是什么?
      JavaScript是一种运行在浏览器中的解释型、面向对象、事件驱动式的编程语言。
    2. javascript能干什么?
      交互式操作;表单验证;网页特效;Web游戏;服务器脚本开发等。
    3. javascript有何特点?
      事件驱动、跨平台、动态、交互式的操作方式
    4. javascript与ECMAScript的区别?
      ECMAScript是一种语言标准,javascript是语言标准的实现。
    5. javascript执行方式?
      解释执行(由上而下)
    6. javascript执行平台?
      web浏览器,浏览器有两大对象模型:DOM和BOM,js的最主要功能就是操纵这两个模型里面的东西

    引入

    1. 直接嵌套在在网页的任何地方,一般放在标签中或者标签后,建议使用后者,因为js解释执行从上到下,可避免js代码延迟加载导致网页的显示。
    2. 将代码单独写在一个js文件中,通过在HTML中通过引入这个文件。

    基本语法

    注释

    1. 单行注释://
    2. 多行注释:/* */

    注意

    1. JavaScript区分大小写;
    2. 语句末尾不强制加分号;

    变量声明

    规则
    1. 可以用 _、数字、字母、$、组成 , 且数字不能开头,声明变量用var变量名来声明。
    2. 变量名也不能是JavaScript的关键字,如if、while等。
    3. 如果不写var时,则为全局变量
    赋值

    变量名 = 变量值;

    变量作用域
    1. 全局变量:省略var,或在函数外声明,全局变量可在整个脚本中被使用,可在不同的窗口中相互引用(指定窗口名)
    2. 局部变量:在函数内声明

    数据类型

    1. 数值:整数、浮点数,整数:由正负号、数字构成,八进制、十进制、十六进制,浮点数:由正负号、数字和小数点构成,常规记数法、科学记数法;
    2. 逻辑值:布尔值,true、false;
    3. 字符串值: 单引号、双引号;
    4. 空值: null
    5. 未定义值: undefined,根本不存在的对象、已定义但没有赋值的量;
    6. 数组:是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型,写法:"[]" 包围 ,"," 号隔开每一个值,例如:[1, 2, 3.14, 'Hello', null, true];,还可以用Array()函数实现;
    7. 对象:是一组由键-值组成的无序集合,例如:var i = {'name':'leo','age':23};,可以通过i.name或者i.age获取一个对象的属性,即对象变量.属性名。后面会详细介绍。

    运算符

    1. 算术运算符:+  -  *  /  %(取余)  ++(递增)  --(递减)
    2. 赋值运算符:=  +=  -=  *=  /=  %=
    3. 比较运算符:  !=  =(值及类型)  !==(值及类型) <  <=  >  >=
    4. 逻辑运算符:&&  ||  !
    5. 拼接运算符:+
    6. 特殊运算符:1、new运算符:创建对象(实例)

        格式:对象名称=new 对象类型(参数)
    2、this运算符:表示当前对象

        格式:this[.属性]
    3、条件运算符:三元运算符

               格式:<条件表达式> ? 第一个值:第二个值
    

    语句

    1. 条件语句
      有if...else和switch语句两种
      //if语句
        if(表达式){
            语句
        }else if(表达式){
            语句
       }else{
        语句
    }
    

    //switch语句

    switch (<表达式>) {
        case <数值1>:<语句组1>
                     break;
        case <数值2>:<语句组2>
                     break;
        ...
        default <语句组> 
    } 
    
    1. 循环语句
      有for、while、do...while、for...in语句
      //for语句,常用于利用索引来遍历数组
    for (<初始表达式>;<条件表达式>;<变动量表达式>){
        <语句组>
    }
    
    var arr=['a','b','c','d'];
    for(var i=0;i<arr.length;i++){
        console.log(arr[i]);
    }
    

    //while语句

    while (<表达式>){
        <语句组>
    }
    

    //do...while语句

    do {
        <语句组>
    } while (<表达式>) 
    

    //for...in语句

    for ( 变量 in 对象 ){
        <语句组>
    } 
    
    var i={
        name:'leo',
        age:'27',
        city:'shanghai'
    };
    for(var key in i){
        console.log(key);
    }
    

    函数

    1. 函数概念:独立于主程序的、具有特定功能的一段程序代码块。
    2. 函数定义:
      //一般函数
    function 函数名([参数[,参数...]]){
        <语句组>
        [return <表达式>;] 
    } 
    

    //匿名函数

    var fun=function(x){
        if (x >= 0) {
            return x;
        } else {
            return -x;
        }
    };
    
    1. 函数调用:
      函数名([参数[,参数...]]);
    <script>
        function tell(name){
        document.write("I am"+name);
    }
    tell("leo");
    </script>
    

    事件

    1. 定义:可以被 JavaScript 侦测到的行为,事件通常与函数配合使用,当事件发生时函数才会执行。

    2. 常见事件:onclick、onfocus、onblur、onmousedown、onselect、onsubmit

    3. 调用:浏览器等待用户的交互操作,并在事件发生时,自动调用事件处理函数,完成事件处理过程。

    对象详解

    原则:在js中一切皆对象

    Date对象:
    var date=new Date();
    date;
    //格式:日期对象名称.方法([参数])
    date.getFullYear();//2016 年份
    date.getMonth(); // 月份,注意月份范围是0~11,5表示六月
    date.getDate(); // 日期
    date.getDay(); //  表示星期几
    date.getHours(); // 小时, 24小时制
    date.getMinutes(); //  分钟
    date.getSeconds(); // 秒
    date.getMilliseconds(); // 毫秒数
    date.getTime(); //  以number形式表示的时间戳
    /**
    *其他方法
    Date.parse(日期字串) 返回对应日期基线的毫秒 
    setTime(时间值) 指定一日期对象的值 
    toGMTString() 以GMT格式表示日期对象 
    toUTCString() 以GMT格式表示日期对象 
    */
    
    数组对象
    /**
    *
    *新建数组
      1. 数组对象名称=new Array([元素个数])
      2. 数组对象名称=new Array([[元素1][,元素2,...]])
      3. 数组对象名称=[元素1[,元素2,...]]
    */
    var j = ['A', 'B', 'C', 1, 2, 3];
    var arr = ['A', 'B', 'C'];
    var s=new Array('apple','orange','banan');
        s.length;//数组的属性length
        s.indexOf('orange');//搜索一个指定的元素的位置
        s.slice(0,1);//截取Array的部分元素,然后返回一个新的Array:
        s.push('A', 'B');//向Array的末尾添加若干元素
        s.pop();//把Array的最后一个元素删除掉
        s.unshift('hello'); //往Array的头部添加若干元素
        s.shift();//把Array的第一个元素删掉
        s.sort();//默认排序
        s.reverse();//数组翻转
        s.splice();//从指定的索引开始删除若干元素,然后再从该位置添加若干元素
        arr.concat([1, 2, 3]);//当前的Array和另一个Array连接起来,并返回一个新的Array:
        j.join('=');//当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串
    

    面向对象

    三大特性:封装、继承、多态

    注意:1. JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。
    2. JavaScript的原型链和Java的Class区别就在,它没有“Class”的概念,所有对象都是实例,所谓继承关系不过是把一个对象的原型指向另一个对象而已

    其他

    JSON

    1. 序列化:
    var xiaoming = {
        name: '小明',
        age: 14,
        gender: true,
        height: 1.65,
        grade: null,
        'middle-school': '"W3C" Middle School',
        skills: ['JavaScript', 'Java', 'Python', 'Lisp']
    };
    
    JSON.stringify(xiaoming);
    
    1. 反序列化
    JSON.parse('[1,2,3,true]');
    
    
  • 相关阅读:
    一个网卡绑定多个IP和多个网卡用一个ip的设置
    Linux操纵细碎以太网卡的装配及设置2
    教你若何制作软盘版的 Linux系统防火墙
    Ubuntu Linux体系中装置GNOME初步劈脸菜单
    构筑Linux防火墙之集团用户设置防火墙1
    Linux系统Iptables端方执行按次过细讲解
    Proxy源代码分析 谈Linux收集编程身手
    Linux使用系统以太网卡的安装及设置装备陈设1
    操持Linux下Oracle Tomcat 8080端口争持2
    Linux操作体系上差别文件体系的兼容成就
  • 原文地址:https://www.cnblogs.com/weblm/p/5698884.html
Copyright © 2011-2022 走看看