Java学习笔记-Java基础24(JavaScript)

1.JavaScript:一种网页交互技术,直接嵌入到HTML中,由浏览器解释,不需要预编译。它与Java的区别在于:

    1)Java的特点:封装、继承、多态

    2)JavaScript的特点:脚本语言,没有编译器,逐行执行。是基于对象(内置了大量对象)的,但不支持严格的封装、继承、多态

        ---继承:JS没有继承的概念,但是有原型的概念,每个对象都有prototype属性,用来指定该对象的原型,类似继承

        ---封装:JS的封装不严格,可以任意访问和修改变量和方法

        ---多态:JS的对象都是Object类型,JS中的对象可以赋值给任意类型的其他对象

    3)JS的用途:

        ---客户端数据计算

        ---客户端表单合法性验证

        ---浏览器事件的触发

        ---网页特殊显示效果制作

        ---服务端异步数据的提交

2.JS的使用:类似CSS的三种使用方式

    1)事件定义式:事件定义时直接写JS

    2)嵌入式:JS写在<scrip>(双标签)中,该标签在<head>中

    3)文件调用式:代码写在.js文件中,由HTML引用(<scrip>的srf属性指定文件位置)

3.JS的语法基本与Java类似,注释方法也相同,变量的命名规则相同,关键字也基本相同。但是JS的变量类型只有一种:var,由“=”赋值,未赋值的变量的值为“undefined”。JS的数据类型有:

    1)特殊类型:null,空;undefined,未定义

    2)内置对象:基本对象,Number(数字)、String(字符串)、Boolean(布尔)、Function(函数)、Array(数组)

    3)外置对象:window(浏览器对象)、document(文档对象)

    4)自定义对象:Object

4.JS的类型转换:变量在声明时不需要指定类型,变量所引用的数据有类型

    1)隐式类型转换:

        ---数字+字符串:数字转为字符串

        ---数字+布尔值:true转为1,false转为0

        ---字符串+布尔值:布尔值转为字符串的true或false

        ---布尔值+布尔值:true转为1,false转为0

    2)数据类型转换函数:用于强制转换

        ---toString/praseInt/praseFloat

        ---typeof:查询当前数据类型

        ---isNaN:判断所转对象转换后是否为一个数字,若返回值为true,则不是数字。反之是数字

5.JS的四则运算、关系运算、逻辑运算、条件运算都与Java没有区别,但是JS种“===”:表示类型和数值都相同;“==”:表示类型不同,数值相同;“!==”:表示不全等

6.Java的表达式必须返回布尔值,但是JS的表达式可以是任意表达式,返回值也是任意的,若返回值不为空则为true,若返回值为空(null、undefined、“”、0、NaN),则为false

7.JS的内置对象:

    1)String:基本与Java相同

    2)Number:toFixed(num),转换为字符串,保留小数点后num位,可四舍五入或用0补齐

    3)Array:sort():方法内置了比较规则(<0,互换顺序),默认从小到大排列,规则不能改变但是可以替换该规则

    4)Math:用于执行数学任务

    5)Date:时间类型

    6)RegExp:正则对象:

        ---reg.exec(str):检索给定字符串,返回找到的值

        ---reg.test(str):检索给定字符串,返回true或false

    7)String与正则:

        ---str.match(reg):以数组形式返回符合给定正则的字符串

        ---str.search(reg):返回符合正则的字符下标

8.JS的函数:

    1)Function没有重载,参数可以是任意个,里面有一个arguments数组用于管理参数,Function的默认返回值是undefined,可以指定返回值

    2)可以创建匿名函数(类似Java的匿名内部类):var f = function(参数){方法体};

    3)全局函数:有eval():用于将字符串表达式按照数字表达式计算,并返回结果

9.BOM:浏览器对象模型,用于访问和操作浏览器窗口,JS用此实现与浏览器的对话。里面分成了几个部分,含有各自的函数。

Java学习笔记-Java基础24(JavaScript)

10.DOM:文档对象模型,定义了方法用于操作HTML文档,能够改变HTML中的所有元素、属性、样式、事件。提供了增删改查等一系列的操作节点的方法

Java学习笔记-Java基础24(JavaScript)

Java学习笔记-Java基础24(JavaScript)

11.自定义对象:是一种特殊的数据类型,由属性和方法封装而成,有三种创建方式:

    1)直接创建对象:临时封装对象使用

Java学习笔记-Java基础24(JavaScript)

    2)使用构造器创建对象:提供给其他人使用

Java学习笔记-Java基础24(JavaScript)

    3)使用JSON创建对象:封装服务端数据使用

    JSON是一种轻量级的数据交换格式:

        ---以名/值的方式定义

        ---名需要“ ”引起来,字符串值需要“ ”

        ---多个定义之间用逗号隔开

        ---名称可以是属性

Java学习笔记-Java基础24(JavaScript)