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) 如果转换失败,返回NaNparseInt(var) 可以转换以数字开头的字符串,遇到小数直接抹去小数位,如果转换失败,返回NaNparseFloat(var) 可以转换以数字开头的字符串,如果转换失败,返回NaNString(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.lengtharr.length = 3arr.length = 0arr[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的位置替换为str2str.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.innerWidthwindow.innerHeightwindow.alert('提示信息'):提示弹出框,无返回值,单纯提示window.confirm('询问信息'):询问弹出框,有返回值,返回booleanwindow.prompt('输入提示信息'):输入提示弹出框,有返回值,返回用户输入的内容window.open(地址):打开一个新的页签访问该地址window.close():关闭当前页签window.onload = function(){}window.onresize = function(){}window.onscroll = function(){}
document.documentElement.scrollTopdocument.body.scrollTopdocument.documentElement.scrollLeftdocument.body.scrollLeftwindow.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')nulldocument.getElementsByClassName('class')document.getElementsByTagName('标签名')document.querySelector('选择器')nulldocument.querySelectorAll('选择器')innerTextHTML标签的内容)innerText = ''innerHTMLHTML标签的内容)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元素.offsetWidthborder元素.clientHieght元素.clientWidth元素.on事件类型 = 事件处理函数clickdblclickcontextmenumousedownmouseupmousemovemouseovermouseoutmouseentermouseleavekeydownkeyupkeypressloadscrollresizetouchstarttouchendtouchmovefocusbluechangeinputsubmitresetoffsetX和offsetY(相对于触发事件的元素)clientX和clientY(相对于浏览器可视窗口)pageX和pageY(相对于页面文档流)keyCode:获取当前操作的键盘码值window开始,按照层级结构传递到目标元素window,本次事件传播结束事件对象.stopPropagation()