总结一下原生javascript的基本知识点,希望对新手有所帮助。
一、javascript基本知识 变量定义:
var a = 123; var b = \'abc\'; //连写 var a = 123,b=456;注意:js为弱类型的解释型脚本语言,使用var关键字定义一个变量,数据类型自动判断。
注意:每句代码后可以不写分号,换行即可,习惯上最好加上,增强可读性。
变量类型:
number:数字类型
string:字符串类型
boolean:布尔类型
undefined:未定义类型
null:空类型
object:复合类型,一般用来接收标签。
命名规则:
区分大小写;
第一个字符必须是字母、下划线(_)或者美元符号($),不能输数字;
其他字符可以是字母、下划线、美元符或数字;
不能使用js的关键字或保留字。
多个单词变量的命名使用小驼峰或单词加下划线。
对于object对象一般使用匈牙利命名风格。
//小驼峰命名法 var getMyClass = "abc"; //字母加下划线 var get_my_name = "abc"; //匈牙利命名风格 object: oDiv = document.getElementById(\'div1\'); string: sMyName = "abc" //根据数据类型的第一个字母为开头的小驼峰命名法。 获取属性 <script> window.onload = function(){ //获取标签,通过id var oDiv = document.getElementById(\'div\'); //获取标签,通过class属性 var oDiv = document.getElementByClassName(\'div\'); // 获取标签,写法和css一样 var oDiv = document.querySlector("#id");//如果有多个,获取到第一个 var oDiv = document.querySlectorAll()//获取所有,得到选择集 // 读取属性值 var name =oDiv.className; var oId = oDiv.id; // 写(设置)属性 oDiv.style.color = \'red\'; oDiv.style.fontSize = "20px"; // 写属性值第二种 var cor = oDiv.style.color; var oDiv.style[cor] = "red";//自己命名的属性需要通过[]方式 var oDiv.style.cor = ""; //这种是无效的 } </script>注意1:代码需要写在window.onload =function(){};中,使得html和css加载完毕后才执行,防止报错。
注意2:如果style中的属性不是行内式,而是由css设置的,那么js第一次是获取不到的,但可以直接设置。
注意3:js代码需要用script标签包裹,可以放置在html代码的任何位置,但css嵌入式只能放在头部。
书写方法:一般行内的属性写法一样;
“class” 属性写成 “className”;
“style” 属性里面的属性,有横杠的改成驼峰式,如:“font-size”,改成”style.fontSize”;
获取标签包裹的内容 //读取 var txt = oDiv.innerHTML; //写入 oDiv.innerHTML = \'<a href="">哈哈哈哈哈<a/>\';说明:写入的标签会被解析,从而可以动态添加标签;标签的属性可以在css中写,有效。
运算符算术运算符: +(加)、 -(减)、 *(乘)、 /(除)、 %(求余);;
赋值运算符:=、 +=、 -=、 *=、 /=、 %=;
条件运算符:= =、===、>、>=、<、<=、!=、&&(而且)、||(或者)、!(否);
自加、自减:i++, i--;
==和===的区别:==不会判断数据的类型,直接比较值;=== 会先判断数据的类型,不是同一种类型则不相等。
if(3=="3"){ alert("true")//判断为真 } if(3==="3"){ alert("true")//判断为假 } 条件语句if; if else; if else if else; 和java的写法一样;
switch:选择语句,和java写法一样。
var a = 2; switch (a){ case 1: alert(\'1\'); break; case 2: alert(\'2\'); break; default: alert("else"); 数组和操作数组定义方法:
//实例创建,和java相似 var aList = new Array(1,2,3); //直接创建,内部数据可以是不同的类型; var aList2 = [1,2,3,\'asd\',true,null]; // 多维数组 var aList = [[1,2,3],[\'a\',\'b\',\'c\']];操作方法:
var aList = [1,2,3,4]; var n1 = aList.length; //获取数组的长度,n1=4; var n2 = aList[0]; // 下标获取数据,n2 = 1; var n3 = (aList.join(\'-\')) // 数组成员通过分隔符拼接成字符串,n3="1-2-3-4"; var n4 = aList.push(5); //数组后面追加成员 var n5 = aList.pop(); //数组后删除成员 var n6 = aList.unshift(5); //数组前面增加成员 var n7 = aList.shift();; //数组前面面删除成员 var n8 = aList.reverse();//数组翻转 var n9 = aList.indexOf(1);//返回元素1在数组中第一次出现的索引,没有则返回-1; var n10 = aList.splice(2,1,7,8,9);//从第2个元素开始,删除1个元素,然后在此位置增加\'7,8,9\'三个元素注意点:
aList.join("") // 快速拼接成字符串; aList.push(5,6,9); // 一次性添加多个成员 aList.pop(2); // 2是没有作用的,里面的任何参数都不会起作用,但不会报错; aList.unshift(5,8,9);// 在前面一次性增加多个数据 aList.shift(5); //没有效果,这里没有参数,但不会报错。 aList.splice(2); //一个参数时,删除角标2后面的所有元素,包括角标2的元素; aList.splice(2,1); //两个参数代表从角标2后(包括角标)删除1个元素; 字符串处理