A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 骚猪皮 初级黑马   /  2018-11-8 14:31  /  664 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JavaScript
一、简介
概念:客户端脚本语言
  运行在客户端浏览器中的,每个浏览器都有解析引擎
  脚本语音不需要编译,可以直接被浏览器解析执行
功能:可以来增强用户和html页面的交互过程,可以控制html元素,可以展示动态页面,增强用户体验
组成:JS=ECMAscript(语法)+DOM(文本对象)+BOM(浏览器对象):BOMDOM是语言自己特有的
ECMAScript:客户端脚本语言的标准
1、基本语法
(1) html结合方式
内部JS
<Script> 语句</Script>
外部JS
定义<script>通过src属性引入外部的js文件
psJS可以放在任意位置,但是会影响加载的顺序,若要控制html应在要控制的语句后面
JS语句可以定义多个
(2) 注释
Java,无文档注释
(3) 数据类型
1. 原始数据类型(基本数据类型)
number:数字         整数、小鼠、NaNNot a Number
string:字符串         单双引皆可
boolean:布尔        truefalse
null:一个为空的占位符
undefined:未定义  若变量未初始化(未赋值),则被定义为此类型
2. 引用数据类型:对象
(4) 变量
                        一小块存储数据的内存空间
                Java是一个强类型语言,JavaScript是一个弱类型语言 ,可以存放任意类型
                        强类型:在开辟变量存储空间是,定义了空间将来存储的数据类型,只能存定义的数据类型
                        弱类型:在开辟变量存储空间是,不定义空间将来存储的数据类型,能存任意类型数据
                语法: var a =  
                输出:document.write(输出到body);alert(弹窗);
                typeof(变量名):获得变量的数据类型
(5) 运算符
1. 一元运算符:只有一个算数的运算符++  --  + -(正负号):
正号可以把其他类型转为number
JS中如果运算数不是运算符要求的类型,那么JS会将运算数进行类型转换
        stringnumber:按字面值转换若字面值不是数字则转为NaN
        booleannumbertrue1false0
2. 算术运算符:+  -  *  /  %
3. 赋值运算符:=  +=  -=
4. 比较运算符:===(全等于) >  <  >=  <=  ==
类型相同:直接比较
        字符串:按照字典顺序比较。按位注意比较,直到得出大小为止
类型不同:先进行类型转换,再比较
=== :全等于,比较之前先判断类型,若类型不一样直接返回false
5. 逻辑运算符:&&  ||  !  
其他类型转boolean
        number:非0为真,0NaN为假
        string:除了空字符串””都是true
        null&&undefinedfalse
        对象:赋值(非nullundefined)即为真
6. 三元运算符:?
(6) 流程控制语句
switch
        Java中可以接收:byteint\short\char\枚举\string
        JS中可以接收任意原始类型数据
ifelse
while
dowhile
for
(7) 特殊语法(不推荐使用)
语句以分号结尾,若一行只有一条语句,则可以省略分号
变量使用var定义为局部变量,也可以不用var定义为成员变量
2、基本对象
(1) Function:函数(方法)对象
创建
1functio 方法名称(形参列表){方法体}
2var 方法名 = function(形参列表){方法体}
3var fun = new Function(形式参数列表,方法体);
方法
属性
length:形参个数
特点
方法定义时,形参类型不写
方法是一个对象,定义同名方法,新方法会覆盖旧的方法
没有方法重载,只要同名就会覆盖
在方法声明中有一个隐藏的内置对象arguments,用以接收所有的实际参数的数组
调用
方法名(实际参数列表);
(2) Array
创建
1 var arr = new Array(元素列表)
2 var arr = new Array(默认长度)
3 var arr = [元素列表]
方法
join():将数组中的元素按照指定的参数分割
push():在末尾添加一个元素
属性
length:数组长度
特点
元素类型可变
数组的长度可变
(3) Date
创建
var fate = new Date()
方法
toLocaleString():返回对应的本地字符串格式
getTime():获取毫秒值
(4) Math
创建
Math。方法名
方法
random():随机数
ceil():向上取整
floor():向下取整
round():四舍五入
属性
PI
(5) RegExp:正则表达式
1. 正则表达式:定义字符串的组成规则
1.单个字符:[]                 例[a] [ab] [a-zA-Z0-9_]
特殊符号代表特殊含义的单个字符
\d单个数字字符
\w单个单词字符
2.量词符号:
*  表示出现0次或多次
表示出现0次或1
+  表示出现1次或多次
{mn}  表示数量>=m <=n mn都可以缺省
3.开始结束符号
^ ………… $
注意:如果不加,只有一部分满足也会返回true
2. 正则对象
创建
var reg = new RegExp(“正则表达式”)
var reg = new /正则表达式/
方法
字符串可以用match(字符串 , regexp
(6) Global
1 特点:全局对象,这个对象中封装的方法不需要对象就可以直接调用
2 方法:
encodeURI():url编码
decodeURI():url解码
encodeURIComponent():url编码,编码的字符更多
decodeURIComponent():url解码
parseInt():将字符串转为数字
注意判断每一个字符是否为数字,直到不是数字,将之前部分转为number
若一开始不是数字转为NaN
isNaN():
NaN六亲不认,疯起来自己都不认。与所有比较都是false
eval():将JS字符串转为JS代码,并把它作为脚本代码执行
3 URL编码
将字符的二进制编码换为16进制
4 用法
w3school

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马