弱类型语言,var关键字定义,并且参数的类型可以随时转换。
基于对象:它不仅可以创建对象,也能使用现有的对象。JS没有类的概念,也没有编译的过程。一边解释一边执行。
事件驱动:在JS中,大部分情况下都是通过事件触发驱动函数执行的,从而实现特定的功能。
脚本语言:在网络前端开发环境下,用于嵌入在客户端浏览器中的一段小程序
JS语法
单行注释://注释内容
多行注释:/*注释内容*/
基本数据类型
number数值类型一种,浮点型,需要时会自动进行数据类型的转换,比如:在显示和处理的时候,浮点型和整型会自动的转换。
String字符串类型,直接是通过单引号或者双引号引起来
boolean布尔类型 值为true或者false太原pe
undefined并表示变量没有初始化。
null值只有一个,表示空值或者不存在的对象。
typeof运算符:用于返回变量或者表达式的数据类型
JS语句
if...else
// prompt函数可以弹框提示用户输入成绩, 并返回用户输入的内容
var score = prompt("请输入您的成绩:");
console.log( score );
if( score >= 80 && score <=100 ){
alert("您的成绩属于:优秀!");
}else if( score >= 60 && score < 80 ){
alert("您的成绩属于:中等!");
}else if( score >= 0 && score < 60 ){
alert("您的成绩属于:不及格!");
}else{
alert("您输入的成绩不合法,请重新输入!");
}
switch…case语句
var day = 3;
switch( day ){
case 1:
alert("今天是星期一");
break;
case 2:
alert("今天是星期二");
break;
case 3:
alert("今天是星期三");
break;
case 4:
alert("今天是星期四");
break;
case 5:
alert("今天是星期五");
break;
}
循环语句
var i=0; while(i<5){ alert(i); i++; } var sum = 0; for( var i=1; i<=100; i++ ){ sum += i; //sum = sum+i; } console.log(sum )
JS数组
用于在单个的变量中存储多个值(容器)。
- JS数组可以存放任意类型的数据类型
- JS数组长度可以被改变
var arr1=new Array();
var arr2=new Array("qq","ww","ee","rr");
var arr3=[];
var arr4=["11","22","33","44","55"];
alert(arr1.length);
alert(arr2.length);
arr2[99]="asd";
alert(arr2.length);
for(var a=0;a<arr2.length;a++){
console.log(arr2[a])
}
/* foreach获取的是数组下标 */
for(var i in arr4){
console.log(arr4[i]);
}
JS函数
函数就是一个具有功能的代码块,可以反复调用
函数就是包裹在花括号中的代码块,前面使用了关键词function
方式一:通过function关键字声明函数
声明:function 函数名称([参数列表]){ 函数体 }
调用: 函数名称([参数列表]);
//无参函数定义
function a(){
var a=[1,2,3,4,5];
var sum=0;
for(var i=0; i<a.length;i++){
sum +=a[i]
}
alert(sum);
}
a();//函数调用
//有参函数定义
function b(x,y){
alert(x+y);
}
b(1,2);
方式二:通过函数直接量声明函数
声明:var 函数名称 = function([参数列表]){ 函数体 }
调用: 函数名称([参数列表]);
//定义无参函数
var aa=function(){
alert("欢迎回家!")
}
aa();
var bb=function(x,y){
return x/y
}
alert(bb(3,0));//任何数除以0都会得到Infinity(无穷大)
注意:在JS中调用函数时,传递的参数个数如果与声明的参数个数不相同,也不会报错。
但是最好是按照声明的个数来传递,因为个数不符,可能会引发一些问题!
获取页面元素的4种方式:
- getElementsByTagName 标签名称,得到数组
- getElementsByName name属性,得到数组
- getElementsByClassName class属性,得到数组
- getElementById id属性,单个值
注:dom树在描述标签时除id方式,其它都是以数组形式体现,哪怕是一个元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function fun(){
var x=window.document.getElementById('a');//id
console.log(x);
console.log(x.innerHTML);//获取文字
x.innerHTML="我变了";//改变html文字
var y=window.document.getElementsByClassName("b");//class
console.log(y);
console.log(y[1].innerHTML);//数组下标查看
y[1].innerHTML="芜湖";
var z=window.document.getElementsByName("c");//name
console.log(z);
//标签名
</script>
</head>
<body>
<div onclick="fun()" id="a">我是div1</div>
<div>我是div2</div>
<span id="a">我是span</span>
<p class="b">我是p1</p>
<p class="b">我是p2</p>
<p class="b">我是p3</p>
<p name="c">我是a1</p>
<p name="c">我是a2</p>
</body>
</html>
JSON
本质就是一个字符串,用来规定服务器和浏览器之间的数据交互的格式
JSON是一个轻量级的数据交换格式
给服务器发送数据: 将JS对象转成JSON字符串 JSON.stringify(Js对象)
接受服务器的数据: JSON字符串转成JS对象 JSON.parse("json字符串")
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试JSON字符串</title>
<script type="text/javascript">
//定于json对象
var c='{"name":"jack","age":"18","sex":"男"}';
//JSON转化为js对象
var jsc=JSON.parse(c);
console.log(jsc);
//js对象变成JSON字符串 定义js对象
var p1=new Person();
p1.color='red';
p1.price=9.9;
p1.run=function(){
return alert('run');
}
var p2={
pname:"李四",
page:'100',
pasy:function(){
console.log(this.pname+this.page);
}
}
var jsonp2=JSON.stringify(p2)
console.log(jsonp2);
//JSON数组
var z='[{"name":"liwenbin"},{"name":"liwenbin"},{"name":"liwenbin"}]';
alert(z);
var jsz=JSON.parse(z);
console.log(jsz[0].name);
//定义json字符串
/* var x='{"name":"liwenbin"}';
alert(x);
alert(x.length);
alert(x.concat("S"));
alert(x.substr(3)); */
</script>
</head>
<body>
</body>
</html>