JavaScript—— ECMAScript的简单学习

目录

概念:一门客户端脚本语言

功能:

发展史:

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

             1.基础语法

                         1.与html结合方式

                          2.注释:

                          3.数据类型

                          4.变量

                          5.运算符

                          6.流程控制语句

                          7.JS特殊语法:

                          8.99乘法表

                   2.基本对象:

                                    Function对象:函数对象

                                               Array:

                                                Boolean:

                                                Date:日期对象

                                                Number                                                         

                                                String

                                                RegExp:正则表达式对象

                                                       Global:


概念:一门客户端脚本语言

                     运行在客户端浏览器的,每一个浏览器都有JavaScript的解析引擎

                     脚本语言:不需要编译,直接就可以被浏览器解析执行。

功能:

                     可以用来增强用户和html页面的交互过程,用来控制html元素,让页面有动态效果。

发展史:

                     1992年,Nombase公司,开发出客户端脚本语言,用于表单的校验。命名为C--,后来更名为:ScriptEase

                     1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。后来,请来了Sun公司的专家,修改liveScript去命名为JavaScript。

                     1996年,微软抄袭了JavaScript开发出Jscript语言。

                     1997年,ECMA(欧洲计算机制造商协会),起名为ECMAScript,就是所有客户端脚本语言的标准。

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

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

             1.基础语法

                         1.与html结合方式

                                             1.内部JS

                                                    定义<script>,标签内容就是js代码

                                              2.外部JS

                                                       定义<script>,通过src属性引入外部js文件

                                              注意:

                                                       1.<script>可以定义在页面的任何地方,但是定义的地方会影响执行顺序

                                                        2.<script>可以定义多个

                          2.注释:

                                                   同java注释形式相同

                          3.数据类型

                                                 1.原始数据类型(基本数据类型)

                                                            1.number数字:整数/小数/NaN(not a number 一个不是数字的数字类型)

                                                             2.string:字符串。字符/字符串 "abc" "a" 'abc'

                                                             3.boolean:true和false

                                                             4.null:一个对象为空的占位符

                                                             5.undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined

                                                  2.引用数据类型:对象

var num=1;
var num2=1.2;
var num3=NaN;

//输出到页面上
document.write(num+"<br>");
document.write(num2+"<br>");
document.write(num3+"<br>");

//定义string类型
var str="abc";
var str2='edf';
document.write(str+"<br>");
document.write(str2+"<br>");

//定义boolean
var flag=true;
document.write(flag+"<br>");

var obj=null;
var obj2=undefined;
var obj3;
document.write(obj+"<br>");
document.write(obj2+"<br>");
document.write(obj3+"<br>");

 

                              4.变量

                                                变量:一小块存储数据据的内存空间

                                               java语言是强类型语言,而JavaScript语言是弱类型语言

                                                           强类型:在开辟空间时,定义了空间来存储数据的数据类型,只能存储固定类型的数据

                                                           弱类型:在开辟存储空间时,不定义空间将来的存储数据类型,可以放任意类型的数据

                                               语法:

                                                          var 变量名=初始化的值;

                              5.运算符

                                                  1.一元运算符:只有一个运算数的运算符

                                                             ++;--;+

                                                   2.算术运算符

                                                              +;-*;/;%

                                                    3.赋值运算符

                                                           =;+=;-=

                                                     4.比较运算符

                                                          >;<;===(全等于)

                                                     5.逻辑运算符

                                                          &&

                                                          ||

                                                          !

                                                        其他类型转boolean

                                                                  1.number:0或NAN为假,非0为真

                                                                  2.string:除了空字符串,其他都是true

                                                                 3.null&undefine:都是false

                                                                 4.对象:都是true

                                                         6.三元运算符

                                                                  ?:表达式

                                   6.流程控制语句

                                                                  1.if...else...

                                                                  2.switch

                                                                         在java中,switch语句可以接受的数据类型为byte,int,short,char,枚举类型

                                                                        在js中,switch可以接受任意数据类型       

                                                                  3.while

                                                                   4.do...while

                                                                   5.for

                                   7.JS特殊语法:

                                                                    1.语句以分号结尾,如果一行只有一条语句,则分号可以省略

                                                                    2.变量的定义使用var关键字,也可以不使用

                                                                              用:定义的变量是局部变量

                                                                              不用:定义的变量是全局变量

                                  8.99乘法表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        td{
            border: 1px solid;
        }
    </style>
    <script>
        document.write("<table border='1' 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;");
                document.write("</td>")
            }
            //输出换行
//            document.write("<br>");
            document.write("</tr>")
        }
    </script>
</head>
<body>

</body>
</html>

                   2.基本对象:

                                    Function对象:函数对象

                                                               1.创建

                                                                        1.var fun=new Function(形式参数列表,方法体);

                                                                        2.Function 方法名称(形式参数列表)

                                                                                  {

                                                                                        方法体

                                                                                   }

                                                                     3.var 方法名=function(形式参数列表){

                                                                                       方法体

                                                                                      }

                                                                     2.方法: 

                                                                     3.属性:

                                                                            length:形参的个数

                                                                       4.特点:

                                                                              1.方法定义时,形式参数的名称

                                                                              2.方法是一个对象,如果定义名称相同的对象,后面的对象会覆盖前面的方法

                                                                              3.在JS中,方法的调用只和方法的名称有关,和参数列表无关

                                                                              4.在方法声明中,有一个隐藏的内置对象数组,可以接受其他参数

                                                                              5.调用

                                                                                     方法的名称(实际参数)

                                   

function fun2(a,b) {
      alert(a+b);
   }
//可以覆盖重写
fun2 =function (a, b) {
            alert(a-b);
        }
//传递的参数实际上是一个隐藏数组
function add() {
   var sum=0;
   for(var i=0;i<arguments.length;i++)
   {
         sum+=arguments[i];
    }
         return sum;
}

                                               Array:

                                                                               1.创建:

                                                                                    1.var arr=new Array(元素列表);

                                                                                    2.var arr=new Array(默认长度)

                                                                                    3.var arr=[元素列表]

                                                                               2.方法

                                                                                     join(参数):将数组的元素按指定的分隔符拼接为字符串

                                                                                    push(参数):在末尾创建新元素

                                                                               3.属性:

                                                                                       数组的长度

                                                                                4.特点

                                                                                      1.js中,数组元素的类型是可变的

                                                                                      2.js中,数据元素的长度可变

var arr=[1,"abc",true];
document.write(arr+"<br>");
document.write(arr[0]+"<br>");
document.write(arr[1]+"<br>");
document.write(arr[2]+"<br>");
document.write(arr[10]+"<br>");

arr[10]="hehe";
document.write(arr[10]);
document.write(arr[9]);
document.write(arr.join(" "));
arr.push(11);
document.write(arr[11]);
alert(arr.length)

                                                Boolean:

                                                Date:日期对象

                                                                          1.创建:var date=new Date();

                                                                           2.方法:

                                                                                      tolocalString():返回当前date对象对应的事件本地字符串格式

                                                                                       getTime():获取毫秒值。返回当前日期对象描述的事件到1970年1月1日0点的毫秒值

var date=new Date();
document.write(date+"<br>");

document.write(date.toLocaleString()+"<br>");
document.write(date.getTime()+"<br>");

                                                                   Math;数学对象

                                                                                 1.创建:

                                                                                        特点:Math对象不用创建,直接使用。Math.方法名()

                                                                                  2.方法:

                                                                                         random():返回0·1之间的随机数,含0不含1

                                                                                         cei(x):对数进行上舍入

                                                                                          floor(x):对数进行下舍入

                                                                                          round(x):把树四舍五入为最近的整数

document.write(Math.PI);
document.write(Math.random()+" ");
document.write(Math.round(3.12)+" ");
document.write(Math.ceil(3.14)+" ");
document.write(Math.floor(3.6)+" ")

                                                Number                                                         

                                                String

                                                RegExp:正则表达式对象

                                                                              1.正则表达式:定义字符串的组成规则

                                                                                             1.单个字符

                                                                                                         如:[a]   [ab]      [a-zA-Z0-9_]

                                                                                                          特殊符号代表特殊含义的单个字符

                                                                                                                    \d:单个数字字符[0-9]

                                                                                                                    \w:单个单词字符[a-zA-Z0-0_]

                                                                                              2.量词符号

                                                                                                           *:表示出现0次或多次

                                                                                                          ?:表示出现0次或1次

                                                                                                          +:出现1次或多次

                                                                                                            {m,n}:表示m<=数量<=n

                                                                                                                         m如果是缺省值;{,n}:最多n次

                                                                                                                          n如果缺省;{m,}最少m次

                                                                                                              \w{6,12}

                                                                                               3.开始结束符号

                                                                                                               ^:开始

                                                                                                                $:结束

                                                                                 2.正则对象

                                                                                               1.创建

                                                                                                       1.var reg=new RegExp("正则表达式"),

                                                                                                       2.var reg=/正则表达式/;

                                                                                                   2.方法:

                                                                                                       test(参数):验证指定的字符串是否符合正则定义 的规范

                                                              

var reg=new RegExp("\\w{6,12}");
var reg2=/\w{6,12}/;
alert(reg);
alert(reg2);
var usename="zasfasd";
var flag=reg.test(usename);
alert(flag);

                                                       Global:

                                                                                            1.特点:全局对象,这个Global中封装的方法不需要对象就直接调用                                                                                                              方法名();

                                                                                              2.方法:

                                                                                                             encodeURI():URL编码

                                                                                                              decodeURL():url解码

                                                                                                              encodeURLComponent():url编码

                                                                                                               deodeURLComponet():url解码

                                                                                                                parseInt():将字符串转为数字

                                                                                                                           逐一判断每一个字符是否是数字,直到不是数字位置,将前边数字部分转换为number

                                                                                                               isNaN():判断一个值是不是 NaN

                                                                                                                              NaN六亲不认,连自己不认,NaN参与全为false

                                                                                                                 eval():将JavaScript字符串转化为脚本执行

                                                                                     

var str="http://www.baidu.com?wd=传智播客";
var encode=encodeURI(str);
document.write(encode+"<br>");
var number=decodeURI("%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2");
document.write(number+"<br>");


//编码字符更多
var str="http://www.baidu.com?wd=传智播客";
var encode=encodeURIComponent(str);
document.write(encode+"<br>");
var number=decodeURIComponent("%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2");
document.write(number+"<br>");

var str="a234a32bc";
var number=parseInt(str);
alert(number);

var a=NaN;
document.write(isNaN(a));
var jscode="alert(123)";

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值