JavaScript是一种具有面向对象能力的,解释型的程序设计语言
- 基于对象:提供好了很多对象,可以直接调用
- 事件驱动 html做网站静态效果 js实现动态效果
- 客户端 专门指浏览器
- js的作用 操作html 和css
JavaScript特点
- 松散型:语言核心与c c++ java类似 他的变量不必具有一个明确类型
- 解释型 不需要编译 浏览器直接运行
- 基于对象 我们可以直接使用JS已经创建的对象 Math String
- 安全性 不允许访问本地硬盘 不能将数据写入到服务器上
- 跨平台 js依赖于浏览器本身 于操作系统无关
JS与JAVA区别
java声明变量 int i=10;//强类型语言
js声明变量 var i =10; var j="10"是基于变量的值而做决定的 //弱类型语言
如何书写
在页面中直接嵌入
<script language="javascrip">
js程序
</scrip>
js代码可以插入在<head></head>标签中间 也可以放在<body></body>标签中间
alert 弹出窗口方法
引用外部的javascript
创建一个单独的js文件 将代码写入使用时直接调用
<script language="javascrip" src="js/js文件名称"></script>
js语法
- js的变量区分大小写
- 每行的结尾的分号可有可无
- 标识符 就是指变量 函数 属性的名字 组合规则 第一个字符必须是字母 下划线 美元符$,其他字符可以是其他 不能使用关键字作为标识符
单行注释 //
多行注释开头/* 结尾 */
定义变量
var username="tom";正确
var age=30;正确
int age=30;错误
使用大括号标签代码块
{//代码}
数据类型
数值型Number 整形123//十进制 0123//八进制 0x123//十六进制
浮点型:整数部分加小数部分组成
字符串类型 使用单引号或者双引号括起来的字符 'a' "hello word"
布尔型 只有ture 和false
转义字符 以反斜杠开头
\b退格
\n换行
\t TAB符
\r 回车符
\' 单引号
\" 双引号
\\ 反斜杠
使用typeof判断数据类型
var s="10";
//alert(s)
alert(typeof(s));
var n=10;
//alert(n)
alert(typeof(n));
空值 null var a=null; 用于定义空值
未定义值 undefind:已经声明但是没有赋值的变量
var s;
变量的定义与使用
1.js变量的命名规则 只能是字母 数子 下划线 不能以数字开头 不能使用关键字
严格区分大小写
2.变量的声明 格式一:var 变量名 格式二: var 变量名=变量值;
可以声明多个变量 var 变1 变2....=变量值;
全局变量的声明
1.在函数体外声明的都是全局变量 无论是否有var声明
2.在函数体内部使用var声明的变量是局部变量function test{ y=20;//也是全局变量 //var y=10;这是局部变量 }
var quanju=123;//在函数外这是全局变量
全局变量 定义在函数外 作用于整个代码的变量
局部变量 定义在函数内 只作用于函数体内
赋值运算符
var usernanme="tom";//简单赋值运算符
复合赋值运算符
a+=b;//相当于a=a+b;
a&=b 逻辑于的运算 只要有false结果就是false a=a&b;
a|=b 逻辑或的运算 只要有ture 结果就是ture a=a|b
a^=b 异或运算 相同为假 不同为真 a=a^b;
以此类推
算数运算符
+ - * / %
++ 自增运算符+1
分两种情况: var x=10;
当++在变量前 var m=(++x);++x //--x+1=11 m=11 先计算再赋值
当++在变量后 var n=x++; x++//--n=x=10 x=11 先赋值 在运算
--自减运算符 -1
对于++或者--运算符来说 他们只修饰的是变量 只针对变量的操作
比较运算符
==等于 只根据表面判断
===不仅值相等 数据类型也要相等
逻辑运算符
&&逻辑与 连接的表达式只要有一个结果是false 整体结构就是false
||逻辑或 连接的表达式只要有一个结果是ture 整体结果就是true
! 非运算 取反
条件运算符
格式 布尔表达式? 结果1:结果2;(成立运行结果1 不成立运行结果2)
字符串运算符
+ 字符串拼接
+= 在现有字符串基础上 再来进行拼接赋值的操作
JavaScript流程控制语句
1.流程控制之if switch 语句:
语句结构条件判断语句,只关注条件成立后的操作
if语句
格式一:if(判断条件){
语句块
};
格式二:不管条件成立与否 都有对应内容
if(判断条件){
语句块//条件成立
}else{
语句块//条件不成立
};
格式三:根据多个判断条件 来决定执行结果
if(判断条件1){
语句块1;
}else if(判断条件2){
语句块2;
}else if(判断条件3){
语句块3;
}else{
语句块n;
};
switch语句
格式一:switch(变量名){
case 值1:语句块1;break;//变量名匹配到值1 执行语句块1
case 值2:语句块2
case 值3:语句块3
.....
default:语句块n//如果都没匹配到执行语句块n
}
假如case语句后没有break关键字 那么程序匹配后会继续往下执行
注意:switch(常量值) case 常量值
2.流程控制之 for while do-while 语句:
for循环语句
格式一:
for(循环变量初始化//定义变量;判断条件;循环变量的运算){
循环体;
}
for(var i=1;i<=5;i++){
alert(i);
}
求1-100的和
var s=0;
for(var i=1;i<=100;i++){
s+=i;
}
alert(s);
while语句
循环体有可能一次都不执行
while(判断条件){
循环语句
}
求1-100之间的和
var i=1;
var s=0;
while(i<=100){
s+=i;
i++;
}
alert("1-100之间的和为:"+s);
do -while语句
循环体至少会执行一次
do{
循环体
}while(判断条件)
输出1-100之间的偶数和
var i=1;
var s=0;
do{
if(i%==0){//每找到一个数字先判断奇偶性
s+=i;
}
i++;
}while(i<=100)
alert("1-100之间偶数的和为:"+s);