一、浏览器架构:
二、js的应用:
1.网页中的特效:焦点图、二级菜单、放大镜
2.表单验证
3.后台交互:ajax(调数据)
4.html5的大部分功能
三、JavaScript的概念以及特点:
1.JavaScript是一种基于对象(object)和事件驱动(Event Driven)并且具有安全性能的脚本语言。
2.JavaScript具有以下几个基本特点:
(1)是一种脚本编写语言
(2)基于对象的语言
(3)简单性
(4)安全性
(5)动态性
(6)跨平台性
// 继承,多重继承-->构造函数,纯构造函数继承
function classA(sColor){
this.color=sColor;
this.sayColor=function(){
alert(this.color);
}
}
function classB(bColor,bName){
this.newMethod=classA;//立即执行
this.newMethod(bColor);//立即执行
delete this.newMethod;//删除this指向
this.name=bName;
this.sayName=function(){
alert(this.name);
}
}
四、原型链:
1.原型链扩展了这种方式,以一种有趣的方式事项继承机制。
2.原型链的弊端是不支持多重继承。
3.原型链会用另一类型的对象重写类的prototype属性。
// 把xlassB的prototype属性设置成classA的实例:
function classA(){}
classA.prototype.color="red";
classA.prototype.sayColor=function(){
alert(this.color);
}
function classB(){
classB.prototype=new classA();
}
五、JavaScript的嵌入方式:(嵌入的方式是有顺序的,在header中写入)
1.内嵌方式:
<script type="text/javascript">
{/* js代码 */}
</script>
2.外联方式:(在哪里写都可以,最后进行渲染)
(1)首先将js代码保存成独立的.js文件。
(2)在html中进行引入操作。
<script type="text/javascript" src="url.js">
{/* js代码 */}
</script>
六、进行注释:
1.单行注释: //注释内容
2.多行注释: /* 注释内容 */
七、变量:
1.变量(本质)
(1)存取数据的内容空间叫做变量。
(2)内存:运行中程序数据暂存空间。
(3)变量的声明和赋值:
var a;
a = 1;//放入缓存中
alert(a);
2.变量的命名规则
(1)JavaScript变量的命名规则:以字母或下划线开头可以包含字母、数字、下划线,不能包含特殊字符(空格、@、$等)
(2)不能使用关键字和保留字
1)关键字:break、case、catch、continue、 default、delete、do、else、finally、for、function、if、in、instanceof、new、return、default、void、while、with.
2)保留字:abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile.
(3)标准命名法:
1)驼峰法:Gamel命名法:第一个单词第一个字母小写,接下来的每个单词第一个字母都是以大写字符开头。
2)帕斯卡Pascal命名法:第一个单词第一个字母大写,接下来每个单词第一个字母都以大写字符开头。
3)匈牙利命名法:以Pascal前加一个小写字母(或小写字母序列)
(4)声明变量:
var amsg="数值类型";//声明变量,赋值以及输出
var a,b,c;
a=1;//➕和➖:字符串连接:1.字符串+任意字符串 2.数值+数值:加法运算
b=2;
c=3;
console.log(c);//控制台输出
var x=1,y=2;
alert(a);
alert(x);
alert(amsg+a);//加号和减号:除了数值+数值,其他的都是字符串连接(从左到右)
3.JavaScript常用数据类型——不同类型数据可以做不同运算
(1)JavaScript常用数据类型(基本数据类型)。
1)数值型:整数和实数、NaN(数值类型为空)、数值型可以做所有算术运算。
2)布尔型:true false(布尔型可以做逻辑运算)。
3)空类型:undefined(未定义)、null(对象为空)、(变量未赋值)。
4)null类型:表明某个变量的值为空。
5)字符串型:凡是用单引号 ' ' 或双引号 “ ” 包裹的内容都是字符串(英文半角)。
(2)复合数据类型(引用数据类型)
1)对象:object
var car={ name: ; length: ; price: ;}
2)数组:Array
var a=[1,2,3,4];
3)函数:Function (类型测试:typeof)
var a=1;//数值
var b=false;//布尔
var c="abc";//字符串
var d=[1,2,3,4];//数组
// var d=new Array(1,2,3);
var e={name:'lily',age:19};//对象
var f=function(){ };//方法
console.log("a:"+typeof a);
console.log("b:"+typeof b);
console.log("c:"+typeof c);
console.log("d:"+typeof d);
console.log("e:"+typeof e);
console.log("f:"+typeof f);
console.log("null:"+typeof null);
console.log("NaN:"+typeof NaN);
console.log("undefined:"+typeof undefined);
4)表达式:由运算符连接数组成的式子,不管运算符多长,最终是一个值。
例:2+3*3、5+6 操作数:2、3、3、5、6 连接操作树符号:+、-、*、/
5)算数运算符:
加+、减-、乘*、除/、取模(取余)%、负数-、自增++、自减--、
取模:0<=取模运算<=除数-1。 a++、++a都等价于a=a+1;
// +或-在操作数前,先算自增或者自减,再算其他运算
a=1;x=++a;
x=a=a+1;
// +或-在操作数后,先算其他运算,再算自增或者自减
b=1;y=b++;
y=b=b+1;
var a=1,b=1;
console.log(a++);//输出也算作是一种运算
console.log(++a);
6)比较运算符:
等于==(判断的时候两边都有值)、严格全等===(类型和值都一样时为true,否则为false)、不等于!=、飞非严严格全等!==、大于>、小于<、大于等于<=、小于等于<=、赋值运算符=、
注:比较运算表达式的结果是布尔true、false。
7)逻辑运算符:
1)逻辑与&(两边同时为真,则为真)、逻辑或||(有一边为真则为真)、逻辑非!
注:逻辑表达式的结果是布尔值true和false.
var a = 1;
var b = "1";
console.log(a > 1 || typeof b == "string");//true
8)条件运算符:
表达 ? 值1 : 值2;
// 如果表达式为真,返回值为值1,如果表达式为假,返回值为值2。
var a = 1;
var b = "1";
var r = a > 1 ? "对了" : "错了";
console.log(r);
var name="tom",sex="男",age=19;
var r=sex="男"?age>19?"符合":"年龄不符合":"性别不符合";
console.log(r);