基本数据类型
js中基本数据类型有number、string、boolean、null、undefined
数值类型:number
js中数值类型只有浮点型,js会自动进行数据类型的转换。
2.4+3.6=6;
Infinity : 正无穷大
-Infinity : 负无穷大
NaN : Not a Number 非数字, 和任何值都不相等,包括它本身
字符串类型:String
js中字符串类型为基本类型,与java中不同,js中字符串使用单引号或双引号括起来。
var str1 = "Hello…";
var str2 = 'CGB2103…';;
alert(str1);//弹出框
布尔类型:boolean
js中的boolean类型与java相同值只能为true和false
var s1 = false;
console.log(s1)
未定义:undefined
值只有一个就是undefined。表示变量没有初始化值。
a) var num; alert(num);//声明了变量但是没有为变量赋值,该变量的值就是undefined。
b) 或者访问一个对象上不存在的属性时,也是undefined。
c) 或者访问数组中一个没有的元素的位置时,该位置处的值也是undefined.
空值:null
值也只有一个,就是null。表示空值或者不存在的对象。
变量的声明
js中的变量与java不同,不是通过引用类型或基本类型定义,只需要使用一个关键字var来进行定义。
var a=1; alert(a);
var x=true; alert(x);
var y=10.8; alert(y);
var a = 1;
a=true;
a=100;
alert(a);//100
function x(){
var m = 10;
alert("局部变量:"+m);
alert("全局变量:"+a);
}
alert("局部变量2:"+m);//局部变量失效,报错
运算符
js具有java中的基本运算符,以及===、!==、!(not)
var a = 3;
var b = 1;
console.log(a+b);//4
a+=4;
console.log(a+b);//8
//a+=4;
console.log(a==b); //true
console.log(a==="3"); //false 如果两边比较的值不是同一种数据类型,===直接返回false,如果是同一种数据类型,==和===没有区别!
console.log("1"=="1"); //true //由于JS中字符串是基本数据类型,比较字符串相等通过 == 进行!
var a = 1;
alert(a++);//1
alert(++a);//3
alert(++a+a+++a);//4+4+5
alert(a>3?10:8);
var b = 10;
alert(a>b?a:b);//求两个数里的大数
var c = 8;
var d = a>b?(a>c?a:c):(b>c?b:c);
alert(d);//三个数里的大值
typeof运算符:用于返回变量或表达式的类型
var i = 3;
console.log(typeof i);//number
i=true;
console.log(typeof i);//boolean
i="hello";
console.log(typeof i);//string
console.log(typeof 123+"abc");//numberabc
console.log(typeof (123+"abc"));//string
数组
js数组中可以存放任意的数据类型
js中的数组长度可以被改变
数组声明方式
var arr1 = new Array();
var arr2 = [];
var arr3 = new Array("数组", 123, 1.5, true);
arr2 = ["数组", 123, 1.5, true];
arr1 = ["数组", 123, 1.5, true];
console.log(arr3)
console.log(arr2)
console.log(arr1)
遍历方式
for (var i = 0; i < arr2.length; i++) {
console.log(arr2[i])
}
for (var i in arr3) {
console.log(arr3[i])
}
函数
创建函数使用关键字function
创建方式
function f(){
console.log("CGB2106")
}
f();
var f1 = function(){
console.log("CGB2106")
}
f1();
function f2(a , b){
return a + b;
}
console.log(f2(1,2))
console.log(f2("CGB2106",666))
var f3 = function(c){
return "Hello CGB" + c
}
console.log(f3(123))
var f4 = function(d){
console.log(123+d)
}
f4(123)
对象
js中对象分为内置对象以及自定义对象
内置对象
/*
在浏览器加载完整个html后立即执行!
window.onload()
*/
window.onload = function () {
console.log("我是猪猪侠")
}
// 提示信息会话框
window.alert("马钊")
// 确认会话框
window.confirm("马钊")
// 键盘输入会话框
var a = window.prompt("马钊")
console.log(typeof a)
var b = parseInt(a)
console.log(typeof b)
//事件对象
window.event
/*
文档对象:window.document返回document
代表整个HTML文档,用于访问页面中的所有元素
document.write() 动态向页面写入内容
document.getElementById(id) 获得指定id值的元素
document.getElementsByName(name) 获得指定Name值的元素,返回多个元素,用数组
document.getElementsByTagName 获得指定标签名的元素,返回多个元素,用数组
document.getElementsByClassName 获得指定class属性的元素
*/
document.write("我是马钊!")
自定义对象
function Person() {} //定义对象
var p1 = new Person(); //创建对象
//定义属性
p1.name = "马钊";
p1.age = -1238;
//定义函数
p1.run = function(){
console.log(this.name + "年龄:" + this.age)
}
p1.run();
var p2 = {
"name" : "余来",
"age" : "123",
'food' : "马钊",
"out" : function(){
console.log(this.name + "年龄:" + this.age)
},
"eat" : function(){
console.log(this.name + "爱吃" + this.food)
}
}
console.log(p2.name)//调用属性
console.log(p2)
p2.out()
p2.eat()
Document对象
getElementById("元素的id的属性的值")
—返回1个元素
getElementsByName("元素的name属性的值")
—返回多个元素(用数组)
getElementsByClassName("元素的class属性的值")
—返回多个元素(用数组)
getElementsByTagName("元素的标签名的值")
—返回多个元素(用数组)
write()
—向文档写 HTML 表达式 或 JavaScript 代码
title
—返回网页的标题
id
—设置或返回元素的id
innerHTML
—设置或返回元素的内容
//使用id选择器获取元素
function fun() {
var x = document.getElementById("a");
console.log(x)
var x1 = document.getElementById("a").innerHTML;
console.log(x1)
var x2 = document.getElementById("a").innerHTML = "我是马钊";
}
//使用class属性名获取元素
function f1() {
var c = document.getElementsByClassName("b");
console.log(c)
c[2].innerHTML = "我是老马钊"
}
//使用name属性获取元素
function f2() {
let name = document.getElementsByName("c");
console.log(name)
}
//使用标签名获取元素
function f3(){
for (var tag of document.getElementsByTagName("p")) {
console.log(tag)
}
console.log(document.getElementsByTagName("p"))
}