[TOC]
前言
- NaN表示不是一个数字
enter code here
*
小记
1.consol.log();在控制台打印输出括号里的内容
数据类型
所有数据类型声明都是用var
,不需要像C语言那样加数据类型,自动识别数据类型。
字符串 string
var a = "This is a strings";
布尔值 bool
var myBool = true;
数字 number
var pi = 3.14;
undefined
变量存在但是未被赋值或者 读取一个不存在的对象属性时
变量的类型不确定,逻辑判断是相当于false
null
表示值已被定义了,但是它不属于任何一种合法的类型,逻辑判断是相当于false
(1.typeof():查看变量的类型
(2.字符串拼接:string1+strign2
(3.类型转换:parseInt()将字符串转化为整形值, parseFloat()将字符串转化为浮点型
类型转换
(1.数字转字符串
num.toString(); 括号内可以填数字表示转化成几进制,不填默认是十进制
(2.字符串转数字
Number(str) | 解析str得到整数或者实数 |
---|---|
parseInt(str) | 解析str得到整数 |
parseFloat(str) | 解析str得到整数或者实 |
字符串操作
.length
|
|
charAt
得到字符串中某个字符
indexOf
字符在字符串中的位置
substring截取字符串
截取字符串
replace替换字符
string.replace(‘被替换字符’,’替换后的字符’)
split 分割字符串
string.split(‘分割的标志’) 得到的结果是个数组,可以放到变量里然后去出
数组
定义
var arry1=[];
var myarry=[‘hello’, 100, 1, 5, 25, 10];
属性
push添加数组
string.push(要添加的内容1,要添加的内容2)
把药添加的内容加到数组最后
unshift往数组头加元素
string.unshift() 把元素加到数组头
删除数组元素pop shift splice delete
- 删除数组最后一个元素:string.pop();本身返回的是删除掉的元素的值
- 删除数组开头第一个元素:string.shift();本身返回的是删除掉的元素的值
- 删除数组内具体某元素:delete string[2]; 但是它不会影响元素数量,只是把那个元素变成undefined
- 彻底删除某个元素:string.splice(元素索引) 本身返回的是被删除的元素
两个数组合并concat
string1.concat(string2)返回的是合并后的结果
if判断语句
if(a==b){} 仅测试操作数的数值是否相等,而不关心操作数的类型
if(a===b){} 操作数的值和类型都相等才为真
|
|
switch语句
|
|
循环语句
while
|
|
for循环语句
|
|
函数
- 定义函数
function functionName(参数1,参数2…)
{
} - 函数表达式、匿名函数
var functionName = function (参数1,参数2)
{
}
对象
property(属性) method(方法)
注:
- 对象里面的属性可以是任何类型的数据:数字、字符串、数组等
- 对象中属性的类型可以用typeof取出来,方法类型是’function’
访问对象属性方法:
- 对象名.属性名
- 对象名[‘属性名’]
创建对象
单独设置属性
123var objName_my = {};objName_my.namemy='wang';或者 objName_my['namemy']='wang';objName_my.agemy=23;方式二:
12345var objName = {namemy:'wang',agemy:23,family:['父亲','母亲']};
删除对象属性
delete 对象名.属性名;
给对象添加方法
对象名.functionNamemy = function (参数1,参数2)
{
//方法体中的this表示对象functionNamemy本身
函数内容;
}; //注意结尾加上分号
用for输出对象内属性
|
|
DOM 文档对象
注意:
- 元素 = 标签(H1 P…) + 文本内容
DOM树
document作为文档的root根,元素(标签)作为结点,构成一颗树,有父节点、兄弟节点。
获取DOM元素
(1). document.getElementById(‘元素的id’)
这样获得整个元素标签
(2). document.getElementsByTagName(‘标签名’)
返回的结果是所有相关的标签元素,是个数组对象,如getElementsByTagName(‘li’)返回所有li标签的内容
(3). document.querySelector(‘CSS选择器’) CSS选择器可以是“类名+标签”
返回的是查找到的第一个元素
例:document.querySelector(‘.content li’)
(4).document.querySelectorAll(‘CSS选择器’)
返回的是查找到的所有的元素
获取DOM节点
注:假设将获取到的元素赋值给变量pagemy
(1. pagemy.nodeName
用于获取该元素标签属性 如果是段落返回的是p
(2. pagemy.innerText
返回的是元素的文字内容
(3. pagemy.parentNode
返回的是父节点的元素
(4. pagemy.previousElementSibling
返回的是前面一个兄弟节点的元素
pagemy.nextElementSibling
返回的是前面一个兄弟节点的元素
(5.pagemy.childNodes
返回的是所有的子节点元素,包含元素类型的节点和文本类型的节点
(6. pagemy.firstElementChild
返回的是第一个子节点元素pagemy.lastElementChild
返回的是最后一个子节点元素
创建DOM新节点
(1.创建节点:
.creatElement
创建元素类型新节点:
var newMenber_my=document.creatElement(‘li’);.creatTextNode
创建文本类型节点:
var newTextnode_my=document.creatElement(‘这是文本内容!’);
(2..appendChild
:被添加的元素a.appendChild(要添加的元素b)
|
|
例:newMenber_my.appendChild(newTextnode_my);
.insertBefore(插入的元素,被插入的地方)
作用是将插入的元素放到被插入地方的上面
事件
onmouseover
onclick
onmouseout
window.onload=function(){}//在页面图片等都加载完了触发