基本数据类型
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);//100function x(){var m = 10;alert("局部变量:"+m);alert("全局变量:"+a);}alert("局部变量2:"+m);//局部变量失效,报错
运算符
js具有java中的基本运算符,以及===、!==、!(not)
var a = 3;var b = 1;console.log(a+b);//4a+=4;console.log(a+b);//8//a+=4;console.log(a==b); //trueconsole.log(a==="3"); //false 如果两边比较的值不是同一种数据类型,===直接返回false,如果是同一种数据类型,==和===没有区别!console.log("1"=="1"); //true //由于JS中字符串是基本数据类型,比较字符串相等通过 == 进行!var a = 1;alert(a++);//1alert(++a);//3alert(++a+a+++a);//4+4+5alert(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);//numberi=true;console.log(typeof i);//booleani="hello";console.log(typeof i);//stringconsole.log(typeof 123+"abc");//numberabcconsole.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"))}
