JavaScript基础

大力推荐一门好的网站:www.w3school.com.cn

概念

  • 一门客户端脚本语言。
    • 运行在客户端浏览器中。每一个浏览器都有JavaScrip的解析引擎。
    • 脚本语言:不需要编译,直接就可以被浏览器解析执行了。
功能:
  • 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。
JavaScript发展史:
  1. 1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:ScriptEase
  2. 1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。后来,请来SUN公司的专家,修改LiveScript,命名为JavaScript
  3. 1996年,微软抄袭JavaScript开发出JScript语言
  4. 1997年,ECMA(欧洲计算机制造商协会),制定出客户端脚本语言的标准:ECMAScript,就是统一了所有客户端脚本语言的编码方式。

JavaScript = ECMAScript + JavaScript自己特有的东西(BOM+DOM)

ECMAScript:客户端脚本语言的标准

1.基本语法

1.与HTML结合方式:
  • 内部JS:定义<script>,标签体内容就是js代码
  • 外部JS:定义<script>,通过src属性引入外部的js文件
  • 注意:
    1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。
    2. <script>可以定义多个。
2.注释:
  • 单行注释://注释内容
  • 多行注释:/* 注释内容 */
3.数据类型 :
  • 数据类型分为原始数据类型和引用数据类型。
  • 原始数据类型(基本数据类型相似):
    • number :数字。-->整数/小数/NaN(not a number 一个不是数字的数字类型)
    • string : 字符串。 字符串:"abc" "a" 'abc'
    • boolean : true和false。
    • null :一个对象为空的占位符。
    • undefined :未定义。如果一个变量没有给初始值,则会被默认赋值为undefined。
  • 引用数据类型:对象。
4.变量
  • 变量:一小块存储数据的存储空间
  • Java语言是强类型语言,而JavaScript是弱类型语言。
    • 强类型:在开辟存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据。
    • 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
  • 语法:var 变量名 = 初始值;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--变量类型-->
    <script>
        //定义number类型
        var num1 = 1;
        var num2 = 1.12;
        var num3 = NaN;
        document.write(num1+"<br>");
        document.write(num2+"<br>");
        document.write(num3+"<br>");
        //定义string类型
        var str1 = "abc";
        var str2 = 'def';
        document.write(str1+"<br>");
        document.write(str2+"<br>");
        //定义boolean类型
        var flag = true;
        document.write(flag+"<br>");
        //定义null,undefined
        var obj = null;
        var obi1 = undefined;
        var obj2;
        document.write(obj+"<br>");
        document.write(obi1+"<br>");
        document.write(obj2+"<br>");
    </script>

</head>
<body>

</body>
</html>

页面显示:


  • typeof运算符:获取变量的类型。
    • 注:null运算后得到的是object。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--变量类型-->
    <script>
        //定义number类型
        var num1 = 1;
        var num2 = 1.12;
        var num3 = NaN;
        document.write(num1+"----"+typeof(num1)+"<br>");
        document.write(num2+"----"+typeof(num2)+"<br>");
        document.write(num3+"----"+typeof(num3)+"<br>");
        //定义string类型
        var str1 = "abc";
        var str2 = 'def';
        document.write(str1+"----"+typeof(str1)+"<br>");
        document.write(str2+"----"+typeof(str2)+"<br>");
        //定义boolean类型
        var flag = true;
        document.write(flag+"----"+typeof(flag)+"<br>");
        //定义null,undefined
        var obj = null;
        var obi1 = undefined;
        var obj2;
        document.write(obj+"----"+typeof(obj)+"<br>");
        document.write(obi1+"----"+typeof(obi1)+"<br>");
        document.write(obj2+"----"+typeof(obj2)+"<br>");
    </script>

</head>
<body>

</body>
</html>

页面显示:


typeof不是太重要,了解就行,不需要知道变量的类型
注释:您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。
ECMAScript 原始类型 (w3school.com.cn)

5.运算符
  • 一元运算符:一元运算符只有一个参数,即要操作的对象或值。它们是 ECMAScript 中最简单的运算符。
  • ++ --: 自增(自减)
    • ++(--) 在前,先自增(自减),再运算
    • ++(--) 在后,先运算,再自增(自减)
    • +(-):正负号
  • 注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换。
  • 其他类型转number:例如string类型转number:按照字面值转换,如果字面值不是数字,则转为NaN(不是数字的数字)
var a = +"abc";
alert(typeof (a));
alert(a);

页面窗口弹出的是:



  • boolean转number:ture转为1,flase转为0.

ECMAScript 一元运算符 (w3school.com.cn)


  • 算数运算符

(乘性运算符:* / %)
ECMAScript 的乘性运算符与 Java、C、Perl 等于语言中的同类运算符的运算方式相似。
需要注意的是,乘性运算符还具有一些自动转换功能。
乘法运算符由星号(*)表示,用于两数相乘。
ECMAScript 乘性运算符 (w3school.com.cn)
特殊行为看上面的网址查找

JS特殊语法:
1. 语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议)
2. 变量的定义使用var关键字,也可以不使用
用: 定义的变量是局部变量
不用:定义的变量是全局变量(不建议)

练习:99乘法表

<!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 < 10; i++) {
            document.write("<tr>")
            for (var j = 1; j <= i ; j++) {
                document.write("<td>")
                document.write(i +"*"+j +"= "+ i*j+"&nbsp"+"&nbsp");
                document.write("</td>")

            }
                document.write("<br>");
                document.write("</tr>")
        }
        //2.创建表格
        document.write("</table>");

    </script>

</head>
<body>

</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JavaScirpt变量 JavaScript 变量名称的规则: 应该起一些具有意义的,描述性的,让人望文生义的变...
    zyh9212阅读 372评论 0 0
  • 概述 简介   JavaScript是一种轻量级的脚本语言,是可插入HTML页面的编程代码。JavaScript插...
    java大数据编程阅读 708评论 0 0
  • 1 - 编程语言 1.1 编程 编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果...
    Scincyc阅读 301评论 0 0
  • --- 学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: ...
    YFBigHeart阅读 1,079评论 0 2
  • # JavaScript基础第01天 ## 1 - 编程语言 ### 1.1 编程 -编程: -就是让计算机为解...
    私心呢阅读 256评论 0 0