a
标签:书写在href属性上 href="javascript: alert('Hello world!');"
a
标签:书写在行为属性上onclick="javascript: alert('Hello Mike!')"
案例:
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>javaScript书写位置title>
<script src="./js/demo.js">script>
head>
<body>
<a href="javascript: alert('Hello world!');">点我一下a>
<div onclick="javascript: alert('Hello Mike!')">点我一下div>
<script>
//内嵌式
alert('Hello Nancy!')
script>
body>
//弹出层输出
alert('Hello world!')
//控制台输出
console.log('Hello Tom!')
//页面输出
document.write('Hello Mike!')
javaScript
数据类型:
number
):
string
):使用双引号或者单引号包裹boolean
):
null (object)
undefined(undefined)
javaScript
面向对象》获取数据类型的函数:获取数据的基本类型:typeof
基础数据类型案例:
// 整数 number
var num1 = 1;
var num2 = -1;
// 小数 number
var num3 = 0.5
var num4 = -0.5;
// 科学计数法 number
var num5 = 2e5; //2 * 10^5
// 十六进制 number
var num6 = 0x001;
// 八进制 number
var num7 = 0o001;
// 二进制 number
var num8 = 0b001;
// 字符串 string
var str1 = 'Hello world!';
var str2 = "Hello Tom!";
// 布尔类型 boolean
var flag1 = true;
var flag2 = false;
// 空类型
var a1 = null;
var a2 = undefined;
console.log(typeof a2);
对象数据类型案例:
定义对象:
var obj = {}
对象的操作:
增
增加一个key:
方式一:obj.hobby = 'play footBall'
方式二:obj['hobby'] = 'play footBall'
删
删除一个key:
方式一:delete obj.hobby
方式二:delete obj['hobby']
改
根据key修改值:
方式一:obj.sex = 'girl'
方式二:obj['sex'] = 'girl'
查
根据key查询值:
方式一:obj.sex
方式二:obj['sex']
Number(var)
如果转换失败,返回NaN
parseInt(var)
可以转换以数字开头的字符串,遇到小数直接抹去小数位,如果转换失败,返回NaN
parseFloat(var)
可以转换以数字开头的字符串,如果转换失败,返回NaN
String(var)
var.toString()
Boolean(var)
0、NaN、''、undefined、null
转换为boolean
时为false
+、-、*、/、%
=、+=、-=、*=、/=、%=
>、<、>=、<=、==、===、!=、!==
&&、||、!
++、--
if(){} else {}
if(){} else if(){} else{}
switch(){
case 选项1:
代码内容
break;
case 选项2:
代码内容
break;
default:
默认内容
}
while(){
}
do {
} while()
for(;;)
function 函数名(形参) {
xxx
return xxx;
}
arguments
,类型数组,里面的函数的形参var arr = [1, 2, 3, 4];
arr.length
arr.length = 3
arr.length = 0
arr[2]
arr[2] = 5;
for(var i = 0; i < arr.length; i++) {
console.log(arr[i])
}
arr.push(val)
arr.pop()
arr.unshift(val)
arr.shift()
arr.reverse()
arr.splice(起始索引(默认值0),删除个数(默认值0),要插入的数据(默认值空))
arr.sort(function(a, b) {return a - b})
arr.sort(function(a, b) {return b - a})
arr.join(连接符)
arr.concat(arr2)
arr.slice(开始索引(默认值0),结束索引(默认值数组长度))
arr.indexof(val)
arr.forEarch(function(item,index,arr){})
item
:数组遍历的当前成员index
:数组遍历的当前索引arr
:原始数组arr.map(function(item,index,arr){})
arr.filter(function(item,index,arr){return true})
arr.every(function(item,index,arr){return true})
boolean
值arr.some(function(item,index,arr){return true})
boolean
值字符串的索引从0开始计数
字符串常用的方法:
str.charAt(index)
str.toLowerCase()
str.toUpperCase()
str.replace(str1, str2)
str1
的位置替换为str2
str.trim()
str.split(分隔符)
str.substr(startIndex, count)
startIndex
索引开始截取count
个数的字符str.substring(startIndex, endIndex)
str.slice(startIndex, endIndex)
startIndex
索引开始截取到endIndex
索引数字常用的方法:
Math.random()
[0, 1)
之间的随机小数[0, 1)
之间的随机小数Math.round(num)
num
进行四舍五入取整Math.ceil(num)
num
进行向上取整Math.floor(num)
num
进行向下取整Math.pow(底数, 指数)
Math.sqrt(num)
num
进行二次根运算Math.abs(num)
num
取绝对值Math.max(num1, num2, num3,...numn)
Math.min(num1, num2, num3,...numn)
Math.PI
π
的值var time = new Date()
var time = new Date(year, month, day, hour, min, second)
time.getFullYear()
time.getMonth()
time.getDate()
time.getHours()
time.getMinutes()
time.getSeconds()
time.getDay()
0-6
表示周日到周六time.getTime()
time.setFullYear(year)
time.setMonth(month)
time.setDate(date)
time.setHours(hour)
time.setMinutes(min)
time.setSeconds(second)
time.setTime(times)
window
对象为浏览器隐藏对象,可以省略window.innerWidth
window.innerHeight
window.alert('提示信息')
:提示弹出框,无返回值,单纯提示window.confirm('询问信息')
:询问弹出框,有返回值,返回boolean
window.prompt('输入提示信息')
:输入提示弹出框,有返回值,返回用户输入的内容window.open(地址)
:打开一个新的页签访问该地址window.close()
:关闭当前页签window.onload = function(){}
window.onresize = function(){}
window.onscroll = function(){}
document.documentElement.scrollTop
document.body.scrollTop
document.documentElement.scrollLeft
document.body.scrollLeft
window.scrollTo(left, top)
window.scrollTo({
left:xx,
top:xx,
behavior:'smooth'
})
window.history.back()
window.history.forward()
备注: time
是毫秒值
setInterval(fun, time)
window
下定时器的索引,从1
开始计数setTimeout(fun, time)
window
下定时器的索引,从1
开始计数clearInterval(定时器索引)
clearTimeout(定时器索引)
document.getElementById('id')
null
document.getElementsByClassName('class')
document.getElementsByTagName('标签名')
document.querySelector('选择器')
null
document.querySelectorAll('选择器')
innerText
HTML
标签的内容)innerText = ''
innerHTML
HTML
标签的内容)innerHTML = ''
元素.getAttribute('属性名')
元素.setAttribute('属性名', '属性值')
元素.removeAttribute('属性名')
class
属于关键字,所以不能作为原生属性名,只能以className
作为原生属性名):
元素.className
元素.className = ''
元素.style.样式名
元素.style.样式名 = ''
background-color
,在CSS
中是带中横线的,但是到js
中需要去掉中横线)window.getComputedStyle(元素).样式名
document.createElement('标签名')
父节点.appendChild(节点)
父节点.insertBefore(需要插入的节点, 目标子节点)
父节点.removeChild(子节点)
节点.remove()
父节点.replaceChild(换上节点, 换下节点)
节点.cloneNode(是否克隆后代节点)
元素.offsetHeight
元素.offsetWidth
border
元素.clientHieght
元素.clientWidth
元素.on事件类型 = 事件处理函数
click
dblclick
contextmenu
mousedown
mouseup
mousemove
mouseover
mouseout
mouseenter
mouseleave
keydown
keyup
keypress
load
scroll
resize
touchstart
touchend
touchmove
focus
blue
change
input
submit
reset
offsetX和offsetY
(相对于触发事件的元素)clientX和clientY
(相对于浏览器可视窗口)pageX和pageY
(相对于页面文档流)keyCode
:获取当前操作的键盘码值window
开始,按照层级结构传递到目标元素window
,本次事件传播结束事件对象.stopPropagation()