zoukankan      html  css  js  c++  java
  • JavaScript--ECMAScript

    ECMAScript: 核心语法, 基础语法

    Js代码写法:

    1. 结合事件::写在行内:  行内js
    2. 内部js:写在html页面内部, 使用<script>标签,   写在html任何一个位置, 而且还可以写多个, 多个Script连接在一起
    3. 外部js: js代码写在一个外部文件(后缀名: .js), 在html引入这个js文件(<script src="./xxx.js"></script>)

        注意: <script>一旦写了src(引入外部js文件), 在script标签内部的js全部失效

    核心语法分为:变量、数据类型、数组、运算符号、控制语句、注释、输入/输出、语法约定

    Js弱语言, 变量在定义的不需要确定数据类型, 在赋值的时候,才确定     

    声明变量: var  变量名;

    Js的变量的数据类型: 变量赋值的时候才确定

    1.  number 表示数值
    2.  string: 表示字符串, js中,单双引号引起都是字符串
    3.  boolean
    4.  undefined: 未定义  声明一个变量,没有赋值, 这个变量的数据类型:undefined
    5.  null: 定义一个变量, 赋值为null, 此时数据类型就是null,  null与undefined值相等

    Js中表示false情况:之外的情况, 都表示true

    1.  undefined
    2.  Null
    3.  false
    4.  0
    5.  “ ”

    typeof检测变量的数据类型         语法:  typeof  变量名

    数组

    1. 直接赋值法:

      var  数组名 = [];   //数组没有元素

      var  数组名 = [元素1,元素2,....];

    2. 通过new的方式

      var 数组名 = new Array();//数组没有元素

      var 数组名 = new Array(size);//数组中有n个元素

      var 数组名 = new Array(元素1,元素2,....);

    详细方法查看api

    循环

    普通for循环:

      for(var i =0 ; i<数组名.lenght ; i++){};

    forEach循环:

      for (var  key in 对象名/数组名) {}

         注意: for..in获取的值key,不是元素,是数组的key(下标)

    Js的输出:

    1) alert()  弹框

    2) console.log()在控制台输出

    3) document.write(内容)  把内容写在页面上

    Js的输入:

      prompt()  输入, 弹出一个输入框, 返回的字符串

    函数

    1) isNaN(变量)  返回的是一个boolean

          判断这个变量是否是一个非数字:  true 变量不是数字     false: 变量是数字

        NaN: not a number,  js的number类型有一个特殊值:NaN

          特点: NaN 与任何数字进行计算,结果都是NaN

    2) parseInt(变量) 把变量转换为整数(number), 忽略小数点

    3) parseFloat(变量) 把变量转换为number, 转换第一个小数点

    1) 命名函数:  函数有名字

       语法:  function 函数名([参数列表]){

              //函数体

    }

    2) 匿名函数; 函数没有名字

      A) 作为另外函数的参数, 使用匿名函数

      B) 把这个函数赋值给一个变量, 这个函数可以声明为匿名

    3) 自调用: 函数声明后,调用

    Js中的声明提升:  在一代js代码中, 解析的时候, 浏览器会把这一段code中的变量的声明以及函数声明提升到最前面

    ES6语法:let,const新的关键字

       使用let 定义变量, 替换var                 const定义常量

       作用域: 全局作用域,函数作用域,块作用域: 

    常用函数:  Array数组函数、Date日期函数、Math数学函数、String字符串函数  等

    常用事件

    鼠标事件

    • onclick: 鼠标单击
    • onmouseover: 鼠标移入
    • onmouseout: 鼠标移出

    onload: 整个页面加载完成,  图片加载完成

    键盘事件:  网页游戏: 角色扮演

    • onkeydown: 键盘某个键按下去触发
    • onkeyup:   键盘某个键弹起来触发
    • onkeypress: 在键盘按键被按下并释放一个键时发生。

    事件对象:   属性: keyCode:  按下键的unicode编码

    表单事件:  表单验证

    • onsubmit: 表单提交的时候触发的事件
    • onselect: 文本被选中
    • onfocus: 标签得到焦点
    • onblur: 失去焦点事件

    自定义对象

    1) 通过字面量创建对象:  {} 表示对象, 创建一个包含属性的对象

     语法:  {

              属性名1:值,

              属性名2:值2,

              ...

    }

    //1.字面量的方式创建对象, json
            var stu1 = {
                   name:"张三",
                   age:21,
                   sex:"男",
                   study:function(){
                       alert("正在学习");
                   }
            };
    
            var stu2 = {
                   name:"李四",
                   age:22,
                   sex:"男",
                   study:function(){
                       alert("正在学习");
                   }
            };
    View Code

    2)通过构造函数创建对象,  构造函数就是普通函数, 规范: 构造函数函数名第一个字母大写, 没有返回值

    //2.第二种方式: 创建对象, 通过构造函数
            //声明一个构造函数 , 原型链 
            function Student(name,age,sex){
                this.name = name;
                this.age = age;
                this.sex = sex;
                // function study(){
                //     alert("学习");
                // }
                this.study=function(){
                    alert("学习");
                }
            }
    
           var student1 =  new Student("王五",21,"男");
           //alert(student1.name);
           //alert(student1.age);
           //student1.study();
           console.log(student1);
    
    
           var student2 =  new Student("赵柳",22,"女");
           //alert(student2.name);
           //alert(student2.age);
           console.log(student2);
    
            //函数普通调用,不会创建对象,student3没有值, 
          var student3 =  Student("ll",21,"女");
          console.log(student3);
    View Code
  • 相关阅读:
    初识数据库与SQL语句
    初始面向对象
    集合与深浅copy
    函数进阶
    函数操作
    文件操作
    生成器与列表生成式
    函数名的本质,闭包和迭代
    小数据库
    DAY 5 字典
  • 原文地址:https://www.cnblogs.com/64Byte/p/12589681.html
Copyright © 2011-2022 走看看