JavaScript
JavaScript是脚本语音
1、直接在html输出流中
<p><script> document.write(“<h1>这是标题</h1>”); </script></p>
2、altert()事件的反应
3、改变html内容
换文字
X=document.getElementById(“string”)
X.innerHTML=”change content”
换样式
X.style.color=”#ff0000”;
换图片
Element=document.getElementById('id’)
Element.src=’/images/pic_new.gif’;
4、html中的脚本必须位于<script>与</script>标签之间
脚本可被放置在html页面的<body>和<head>中
5、外部JavaScript
<script src=”my.js”></script>
6、JavaScript输出
(1)window.alert() 弹出警告框
(2)document.write() 将内容写到html中
(3)innerHTML 写到HTML文档中
(4)console.log() 写入到浏览器的控制台
===============================================
7、语法
字面量(恒定值):整数、小数、科学计数、字符串、表达式、数组、对象、函数
变量:
语句:分隔符分号;
关键字:识别要执行的操作, var创建新变量
注释:双斜杠// , /**/
数据类型:数字,字符串,数组,对象
函数:语句写在函数内重复引用
大小写敏感
字符集:Unicode
8、JavaScript语句向浏览器发出的命令,告诉浏览器该做什么
语句标识
9、会忽略空格,增加代码的可读性。
反斜杠对代码行进行换行
10、变量var
(1)必须以字母开头,也可$和_(不推荐),大小写敏感
(2)变量能保存数值和字符串
(3)声明(创建) var carname;
(4)多个变量 var lastname=”Doe”, age=30 , job=”sdfs”;
变量let
(1)只在其声明块或子块可用,var作用域是整个封闭函数
(2)用var或不用的声明有区别
11、数据类型
字符串(string),数字(number),布尔(boolean),数组(array),
对象(object),空(null),未定义(undegined)
(1)动态类型,相同的变量可作不同的类型
Var x=5; var x=”john”;
(2)字符串,可单引号或双引号
Var str = “aaaaaa”; var str = 'aaaaaaa’;
(3)数字,可带小数和不带
(4)布尔,true和false
(5)数组,下标基于0
Var cars=new Array();
Cars[0]=”aaaa”; cars[1]=”bbbbb”;
(6)对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式来定义,属性由 逗号分隔
Var person={firstname:”john”,lastname:”Doe”,id:1234};
(7)undefined和null
Undefined这个值表示变量不含有值, 将变量设置为null来清空变量。
12、对象
(1)定义: var person={firstName:”john”, lastName:”Dow”, age:50};
(2)属性:访问 person.firstName
(3)方法:var person={ fullName:function(){ return “aaaa”+”bbbbb”} };
13、函数
(1)由事件驱动或者被调用执行可重复使用的代码块
(2)包裹在{}中,前面使用关键字function
(3)带参数函数 function myFunc(var1, var2){ }
(4)带返回值 function myFunc() { var x=5; return x; }
(5)局部变量:在函数内部声明,只能在函数内部访问,函数完毕变量被删除
(6)全局变量:在函数外声明,网页上的所有脚本和函数都能访问,网页关闭删除
(7)向为声明的变量分配值,该变量自动作为全局变量
14、事件:可以是浏览器行为,或用户行为
(1)HTML页面完成加载
(2)HTML input字段改变时
(3)HTML按钮被点击
15、字符串
(1)可用单引号和双引号
(2)Length方法获取长度
(3)反斜杠转义特殊字符 \
(4)字符串对象
Var firstName=new String(“John”) 创建String对象会拖慢执行速度,并产生其他副作用
(5)属性
Constructor 返回创建字符串属性
Length 返回字符串长度
Prototype 允许向对象添加属性和方法
(6)方法
Concat 连接字符串,返回连接后的字符串
IndexOF 返回检索字符串第一次出现的地方
LastIndexOf 返回检索字符串最后一次出现的地方
localeCompare 用本地特定的顺序来比较两个字符串
Replace 替换与正则表达相匹配的值
Search 检索与正则表达式相匹配的值
Slice 提取片段,在新字符串返回被提取部分
Split 把字符串分割为子字符串
toString 返回字符串对象值
ToUpperCase 字符串转大写
Trim 移除字符串首尾空白
16、运算符
(1)
+ 加法
- 减法
* 乘
/ 除
% 去摸(余数)
++ 自增
-- 自减
= ,+=,-=,*=,/=,%=
(2)字符串的+运算符:连接多个字符串
(3)字符串+数字: 连接
17、比较和逻辑运算符
== 等于
=== 绝对等于(值和类型均相等)
!= 不等于
!===
> 大于
< 小于
>= 大于或等于
<= 小于或等于
&& 与
|| 或
! 非
条件?值1:值2 三目运算符
18、条件语句
(1)If() { }
(2)if(){}else{}
(3)if(){}else if(){}else{}
19、switch(n)
{
Case 1:
Break;
Case 2:
Break;
Default:
}
20、For
(1)for(语句1;语句2;语句3) { }
语句1: 可选,可多个值
语句2:可选,返回true再次执行,false循环停止
语句3:可选,
(2)for/in
For(x in person) {}
21、(1)while(条件) {}
(2)do{}while(条件)
22、break,continue
23、(1)typeof检测变量类型
(2)null只有一个值的特殊类型,表示一个空对象引用
(3)typeof一个没有值的变量会返回undefine
(4)Null === undefined // false
(5)Null == undefined // true
24、类型转换
(1)数据类型:string, numbeer, boolean, object, function
(2)对象类型:Object, Date, Array
(3)不包含任何值的类型:null, undefined
(4)类型转换:String(x) (123).toString()
25、(1)try{ }catch(err){ }
(2)tye{ throw }catch{ }
26、调试:F12 -> Console
(1)Console.log()在调试窗口打印值
(2)Debugger 断点,其后停止执行
(3)
27、(1)变量提升:变量可先使用再声明
(2)初始化不会提升
28、严格模式(use strict)
指定代码在严格条件下执行,不能使用未声明的变量
29、误区
(1)if(x = 0) if(x = 10) 这是赋值不是判断,导致不是我们想要的结果
(2)Var x=10; var y=”10”; if(x == y) 不管类型的比较,值为true
(3)switch(x){ case 10: } switch中使用===
(4)数字相加, 字符串连接
(5)浮点型数据 var x=0.1; var y=0.2; var z=x+y; if(z == 0.3) 返回false
浮点型精度很难确定,可用整数除法解决, var z=(x*10 + y*10)/10;
(6)函数return后可无分号;结尾
(7)数组只允许使用数字索引
(8)定义数组最后元素不能添加逗号
(9)程序块作用域:全局的 for(var i=0;i<10;i++){} return i; i为10
30、表单
(1)表单验证
(2)验证输入的数字
(3)表单自动验证
31、表单验证
(1)表单数据是否为空?
(2)输入是否是一个正确的email地址
(3)日期是否输入正确
(4)内容是否为数字型
32、Json
(1)java script object Natation
(2)轻量级的数据交换格式
(3)独立的语音
(4)JSON格式化后为JavaScript对象
(5)语法规则
数据为键/值对
数据由逗号分隔
大括号保存对象
方括号保存数组
33、javascript:void(0)
该操作符指定要计算一个表达式但是不返回值
34、JavaScript代码规范
(1)变量名:驼峰法
(2)运算符前后要加空格(=+-*/)
(3)4个空格来缩进代码
(4)一条语句以分号结束
(5)每行代码小于80字符
35、函数
(1)定义
1)函数表达式,匿名函数:var x=function(a,b){ return a*b }
2)构造函数:var myFunction = new Function(“a”,”b”,”return a*b”)
3)函数提升,可在声明前调用
4)自调用函数:表达式后紧跟()会自动调用
5)函数对象:有属性和方法,length表示参数个数
(2)参数
1)显式参数在定义时列出,隐式参数调用时传递真正的值
2)显示无指定类型,隐式无类型检测和个数检测
3)默认参数:调用时未提供隐式参数,默认设置为undefined
4)内置对象argument,包含了函数调用参数数组
5)值传递参数
6)对象传递参数,在函数内部修改会改变函数外的初始值
(3)调用
1)在html中直接调用,或window.func()
2)函数作为对象方法调用
3)使用构造函数调用函数
4)作为函数方法调用:call(), apply()
=======================================================
36、HTML DOM
联系客服