JavaScript基础语法

JavaScript基础

1、JavaScript介绍

  • 概念:一门客户端脚本语言
    • 运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎
    • 脚本语言:不需要编译,直接就可以被浏览器解析执行
  • 功能:
    • 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增加用户的体验
  • JavaScript发展史:
    • 九十年代网速在十几k,网速很慢,很多用户需要上网,如逛论坛,就需要进入注册页面进行用户注册、登录。则需要将填写的数据发送给服务器端,在服务器端进行判断用户名是否被注册、填写信息是否规范等。
        此时如果在填写信息后,点击提交后,发现有些信息并没有填写规范,那么此时数据正在上传至服务器端进行验证,那么则需要浪费很多时间,由服务器进行验证后,返回给用户重新填写,那么又得需要用户进行等待。此时就会浪费用户的时间。(即本地没有校验,只能依靠低网速上传给服务器进项验证)。
    • 1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为:C- - (碰瓷),在网景和微软两家的浏览器大火的时候,Nombase公司将其改名为ScriptEase。
    • 1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。发现其中有一些缺陷。后来,请来了SUN公司的专家,修改LiveScript,命名为JavaScript(借鉴java的名气,有助于宣传),但语法接近java,因为由SUN公司的人员参与。
    • 1996年,微软公司推广自己的浏览器IE,抄袭了JavaScript,开发出了JScript语言。
    • 1997年,ECMA(欧洲计算机制造商协会)统一指定了一套规范,让市场有标准化,依照JavaScript的基础,制定了ECMAScript,就是所有客户端脚本语言的标准。
      • JavaScript = ECMAScript + JavaScript自己特有的BOM+DOM

2、ECMAScript

    1. 基本语法
    • 与html的结合方式
      • 内部的结合方式:定义<script>,标签体内容就是js代码
        <script>标签可以随意放在html中,但是要注意这个标签的执行顺序
        <script> alert("hello world"); </script>
      • 外部的结合方式:通过src属性引入外部的js文件
        <script src="路径/js文件"></script>
        注意:<script>可以定义在html页面的任何地方,但是定义的位置会影响执行的顺序。
        <script>可以定义多个
    • 注释
      • 单行注释://注释内容
      • 多行注释 :/* 注释的内容 */
    • 数据类型:
        1. 原始数据类型(基础数据类型)
          1. number:数字。整数/小数/NaN(not a number 一个不是数字的数字类型)
          1. string:字符串。字符串 “abc”  “a” ‘a’
          1. boolean:true和false
          1. null:一个对象为空的占位符
          1. undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
        1. 引用数据类型:对象
    • 变量:一小块存储数据的内存空间
      • Java语言是强类型语言,而JavaScript是弱类型语言。
        • 强类型:申请变量存储空间,定义了空间将来存储的数据的数据类型,此时在该空间只能放该指定数据类型的值。
        • 弱类型:申请变量存储空间,不定义了空间将来存储的数据的数据类型,可以在该空间内放任意类型的值。
      • 语法:
        • var 变量名 = 初始化值; 例如:<script> // 定义变量 var a = 3; alert(a); a = "abc"; alert(a); </script>
          进行不同数据类型变量的使用:
<script>
        // // 定义变量
        // var a  = 3;
        // alert(a);
        // a = "abc";
        // alert(a);

        // 定义number类型
        var num1 =1;
        var num2 =1.2;
        var num3 =NaN;
        // 输出到页面上
        document.write(num1+"<br>");
        document.write(num2+"<br>");
        document.write(num3+"<br>");
        // 定义string类型
        var str1 = "abc";
        var str2 = 'efg';
        document.write(str1+"<br>");
        document.write(str2+"<br>");
        // 定义booleanl类型
        var flag = true;
        document.write(flag+"<br>");
        // 定义null
        var obj1 =null;
        var obj2 = undefined;
        var obj3;
        document.write(obj1+"<br>");
        document.write(obj2+"<br>");
        document.write(obj3+"<br>");
    </script>
    • 运算符
      • typeof运算符: typeof(变量名:variable)
      • 一元运算符:只有一个运算数的运算符
        • ++、- - 、+(正号)
          • ++、- -:自增(自减),在前,则先运算,后执行。反之,先执行,后运算。
          • +(正号)/-(负号):代表数字正负值
            • 注意:在js中,如果运算数不是运算符所要求的类型,那么js引擎会自动将运算数进行类型转化。
            • 其他类型转number:
              • String 转number:按照字面值进行转换,如果字面值不是数字,则转为NaN(不是数字的数字),NaN加任何数都为NaN。
              • boolean转number:true转1,false转0;
      • 算数运算符:+、 - 、* 、 /、%…
      • 赋值运算符:=、-=、+=…
      • 比较运算符:>、<、>=、<=、== 、 ===(全等于)…
          1. 类型相同 :直接比较document.write((3 > 4)+ " <br> ");
          • 字符串:按照字典顺序比较,按位逐一比较,直到得到大小为止。
          1. 类型不同:先进性类型转化,再比较。注意全等于(===),再比较之前,先判断类型,再判断值,如果类型不一致,则直接返回false。
            1. 字符串与数字比,会将字符转为number类型。
      • 逻辑运算符:&&、||、!
        • 数字类型转boolean:0为假,非0为真
        • strin转boolean:除空字符串(" "),其他都是true
        • null或undefined:都是false
        • 对象:都是true(在对象的获取的时候,可以进行判断,能够防止空指针异常)
      • 三元运算符:? :
        • 表达式?值1:值2;(如果判断表达式为真,则返回值1,反之则返回值2)
    • 流程控制语句
      • if…else
      • switch…case
        • 在java中,switch语句可以接收的数据类型:byte、int、char、枚举(jdk1.5)、字符串(jdk1.7)
        • 在js中,switch语句可以接任意的原始数据类型。
      • while
      • do…while
      • for:for(var i =1;i<=100;i++)
    • js特殊语法:
        1. 语句以分号结尾,如果一行只有一条语句,则; 可以省略。(一般不建议)
        1. 变量的定义可以使用var关键字,也可以不使用。(用var:定义局部变量;不用var:定义的是全局变量。// 一般不建议使用,一般先定义,在方法中赋值,也可以进行使用)
  • 案例小练习:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>练习九九乘法表</title>
    <style>
        td{
            border: 1px solid;
        }
    </style>
    <script>
        document.write("<table align='center'>");
        // 1、完成基本的for循环嵌套,展示乘法表
        for(var i =1;i<=9;i++){
            document.write("<tr>")
            for(var j =1;j<=i;j++){
                document.write("<td>")
                document.write(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;");
                document.write("</td>")
            }
            // document.write("<br>")
            document.write("</tr>")
        }

        document.write("</table>");
    </script>
</head>
<body>
    1. 基本对象:
      1. Array:数组对象
      • 创建
        • var arr = new Arrray(元素列表)
        • var arr = new Array(默认长度)
        • var arr = [元素列表]
      • 方法
        • join(参数):将数组中的元素按照指定的分隔符拼接成字符串
        • push():将数组的的尾部添加一个或者多个元素,并返回新的长度
      • 属性
        | constructor | 返回创建 Array 对象原型的函数|
        | length | 设置或返回数组中元素的数量。|
        | prototype | 允许您向数组添加属性和方法。|
      • 特点
        • JS中,数组元素的类型可变。
        • JS中,数组长度是可变的。
      1. Boolean
      1. Date
        1. 创建:var date = new Date();
          var date = new Date();
          document.write(date);
        1. 方法:
        • toLocaleString():返回当前date对象对应的时间本地字符格式
          var date = new Date();
          document.write(date.toLocaleString);
        • getTime():获取毫秒值,返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差
      1. Math:数字对象
        1. 创建:Math对象不用创建,直接使用
        1. 方法:
        • random():返回0~1之间的随机数。(包含0,不包含1)
          var date = new Date();
          document.write(date.toLocaleString);
        • ceil(x):对数进行上舍入。document.write(Math.ceil(Math.PI) +"<br>")
        • floor(x):对数进行下舍入。document.write(Math.floor(Math.PI) +"<br>")
        • round(x):对数四舍五入为最接近的整数。document.write(Math.round(Math.PI) +"<br>")
          例:取1~100之间的随机整数。
          提示:
          1、Math.random()产生随机数,范围 [0,1) 的小数。
          2、乘以100 ------> [0,100)的数
          3、舍弃小数部分,floor —> [0,99] 的整数
          4、+1 -----> [1,100] 的整数
             var num = Math.random();
             num = Math.floor(Math.round(num *= 100))+1;
             document.write(num);
      • 3.属性:
        • PI : 圆周率
      1. Number
      1. String
      1. RegExp:正则表达式对象
        1. 正则表达式:定义字符串的组成规则。
          1. 定义单个字符: []
          • 如:[a]、 [ab]、[a-zA-Z0-9_] :
            特殊的符号代表特殊含义的单个字符:\d:表示单个数字字符[0-9]; \w:单个单词字符[a-zA-Z0-9_]
          1. 量词符号:
               

            *

            表示0次或多次
               

            ?

            表示0次或1次。
               p>+出现一次或多次
               

            {m,n}

            表示m<= 数量 <= n
                 m如果缺省:{,n} 表示最多n次
                n如果缺省:{m,} 表示最少n次
          1. 开始/结束符号:^ :开始 $ : 结束
        1. 正则对象:
          1. 创建
            1. var reg = new RegExp(“正则表达式”);
            1. var reg = /正则表达式/;
          1. 方法
          • test(参数): 验证指定字符串是否符合正则定义的规范
      1. Global:
        1. 特点:全局对象,这个Global中封装的对象不需要对象就可以直接调用。方法名()
        1. 方法:
          1. encodeURI():url编码
          1. decodeURI():url解码
          1. encodeURIComponent():url编码------编码的字符更多
          1. decodeURIComponent() :url解码------编码的字符更多
          1. parseInt():将字符串转为数字
          • 逐一判断每一个字符是否是数字,直到不是数字位置,将前面数字部分转为number
          1. isNaN():判断一个值是都是NaN
          • NaN六亲不认,连自己都不认,NaN参与的 == 比较为false。此时需要isNaN()来进行判断是否为NaN。
          1. eval():将JavaScript字符串,并把它作为脚本代码来执行。
      1. Function:函数(方法)对象
      • 1.创建:
          1. var fun= new Function(形参,方法体) (作为了解)
            var fun1=new Function(“a”,“b”,“alert(a);”)
            // 调用方法
            fun1(3,4);
          1. function 方法名称(形参){ 方法体 }
          1. // 创建方式3
            /* var 方法名 = function(形参){
            方法体
            }
            */
            var fun3 = function (a,b) {
            alert(a+b);
            }
            fun3(3,4);
      • 2.方法:
      • 3.属性:
        • length:代表形参个数
      • 4.特点:
          1. 方法定义时,形参的类型不用写,返回值对象也不用写
          1. 方法是一个对象,如果定义名称相同的方法,后面的会把前面的覆盖
          1. 在JS中,方法的调用只与方法的名称有关,与参数列表无关。
          1. 在方法声明中有一个隐藏的内置对象(数组)arguments,封装了所有的实际参数。
        • function add() {
          var sum = 0;
          for (var i = 0;i<arguments.length;i++){
          sum += arguments[i];
          }
          return sum;
          }
          var sum = add(1,2,5);
          alert(sum);
      • 5.调用:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript基础语法包括数据类型、运算符、选择结构和循环结构。在JavaScript中,所有的类型都是用var关键字来修饰,但实际中还是有类型区分的。常见的数据类型包括字符串、数字、布尔值、对象和数组等。 运算符用于进行数学运算和逻辑判断。常见的运算符包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)、取余运算符(%)等。逻辑运算符包括与运算符(&&)、或运算符(||)、非运算符(!)等。 选择结构用于根据条件执行不同的代码块。常见的选择结构有if语句、switch语句。if语句根据条件是否为真来执行相应的代码块,switch语句根据表达式的值来选择执行的代码块。 循环结构用于重复执行一段代码。常见的循环结构有for循环、while循环和do-while循环。for循环在指定条件为真的情况下重复执行代码块,while循环在条件为真的情况下重复执行代码块,do-while循环先执行一次代码块,然后在条件为真的情况下重复执行代码块。 举个例子,下面是一段JavaScript代码: ```javascript <script> var a = 10; var b = 5; console.log(a > b && b > a); console.log(a > b || b > a); </script> ``` 在这段代码中,我们定义了两个变量a和b,并使用console.log()方法分别输出了两个逻辑表达式的结果。第一行代码中,a > b && b > a的结果为false,因为a不大于b且b不大于a。第二行代码中,a > b || b > a的结果为true,因为a不大于b或b不大于a至少有一个条件成立。 这就是JavaScript基础语法的一部分,包括数据类型、运算符、选择结构和循环结构。通过掌握这些基础知识,我们可以开始编写JavaScript程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【JavaScript】基本语法大全](https://blog.csdn.net/weixin_64916311/article/details/129136028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值