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

 

posted @ 2020-03-28 21:52  64Byte  阅读(141)  评论(0编辑  收藏  举报