标签:驼峰 定位 赋值 接受 tor min and 类型 doc
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
let n1 = 5;
let n2 = 2;
let res = n1 / n2;
console.log(res);
// 将数字转换成整数,只取小数点前面的整数
res = parseInt(res);
console.log(res);
// 也可以提取字符串中的数字,但是只能匹配到以数字开头的字符串,并且遇到不是数字的其他字符就停止
console.log(parseInt(‘12abc‘)); // 结果 12
console.log(parseInt(‘12.5abc‘)); // 结果 12
// 自增与自减 ++自增1 --自减1
console.log(n1);
// ++ 在前优先级最高,++在后优先级最低(比赋值符=还低)
// res = n1++; 会先将 n1 的值赋值给res ,n1自身再自增1
console.log(res, n1); //结果是 res:5 n1:6
// res = ++n1; 会先将n1的值自增1.然后再将自增后的n1赋值给res
console.log(res, n1); //结果是 res:6 n1:6
//逻辑运算符
let x = 10;
// 与 0 与 ++x 一边得到false,就是false. 判断条件类似python中的and
res = 0 && ++x; // 都成立 获得 0 11
res = x > 11 && ++x; //左边不成立,获得 false 11
console.log(res, x);
// 或 100 || ++x 一边成立获得true,判断条件类似python中的or
// res = x > 11 || ++x; //true 11
res = x > 9 || x++;
console.log(res, x);
// 非 !
console.log(n=!x)
// 三元运算符
//公式 ---> 条件 ? 结果1 : 结果2
res = 10 == ‘10‘ ? ‘相等‘ : ‘不相等‘;
console.log(res)
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
// 顺序 分支 循环
`if (条件) {
} else if (条件) {
} else {
}
`;
// 公式:parseInt(Math.random() * (max - min + 1)) + min
let num = parseInt(Math.random() * (40 - 10 + 1)) + 10;
if (num >= 30) {
console.log(‘数字超过30‘)
} else if (num >= 20) {
console.log(‘数字超过20‘)
} else {
console.log(‘数字超过10‘)
}
//循环
`
while (条件) {
循环体
}
`;
let count =1;
while (count < 100) {
if (count % 8 == 0){
console.log(count)
}
count++
}
`
for (循环初始值1;循环条件2;循环增量3) {
循环体4;
}
循坏顺序,设定初始值1 --> 查看循环条件2 --> 循环体4 --> 增加循环增量3
--> 查看循环条件2 --> 循环体4 --> 增加循环增量3 (此步骤只要循环条件成立会无限循环,直至条件不满足跳出)
`;
`
do {
} while (条件)
`;
count = 0;
do {
console.log(‘循环体,会先执行‘);
count++
} while (count < 3);
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 id="hhh">函数</h1>
</body>
<script>
(function () {
`函数的定义
function 函数名(参数列表) {
函数体;
return 返回值
}
function: 定义函数的关键字
函数名:使用函数的依据,就是一个变量,可以赋值给其他变量,也可以存储在容器中,也可以作为函数的参数与返回值
参数列表:都是按位置传,形参与实参个数不需同意,但一定是按位置赋值,(传与收都没有限制)
函数体:完成功能的主体代码
返回值:只能返回一个值
`;
function fn() {
console.log(‘fn run‘);
return 1
}
let res = fn();
console.log(res);
let func = fn;
func();
function my_fn(a,b) {
console.log(‘参数‘,a,b)
}
my_fn(); // 你收我不传,不显示
my_fn(10); // 你收我传的不够,只显示传的值
my_fn(10,20,30); // 传的比收的多,按位置赋值,溢出的值不接受
`匿名函数
function () {
// 不指定名字的函数就是匿名函数
}
`;
// 需求需要一个函数地址,就可以传入一个匿名函数
function fn100() {
fn()
}
fn100(function () {console.log(‘传入的匿名函数‘)});
//直接用变量接受匿名函数:第二种声明函数的方式,
let f = function (a,b) {
console.log(‘fffff‘)
};
f();
// 为事件提供方法
hhh.onclick = function () {
console.log(‘body-h1 被点击了‘)
};
// 匿名函数自调用:一次性私使用
(function (a,b) {
console.log(‘匿名函数自调用:‘,a,b)
})(10,20,30);
let abc = 10;
hhh.onclick = function () {
console.log(abc)
}
})()
</script>
<script>
abc = 20
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
// if (true) { // 块级作域
// let a = 10;
// const b = 20;
// var c = 30;
// d = 40;
// }
{
let a = 10;
const b = 20;
var c = 30;
d = 40;
}
// console.log(a); // 有{}就不能被外界访问
// console.log(b); // let和const有块级作用域,不允许重复定义
// console.log(c); // var没有块级作用域,但有局部作用域,可以重复定义
// console.log(d); // 没有关键字声明的变量是全局变量,在函数内部声明的外部也可以用
(function () {
let aa = 100;
const bb = 200;
var cc = 300;
dd = 400;
})();
console.log(dd);
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>数据类型的应用</h1>
</body>
<script>
// 字符串
// 1) 定义:
let ss = ‘123abc呵呵‘;
let res;
console.log(ss);
// 2)索引
res = ss[0];
console.log(res);
// 3)切片,设定一个起始位置与结束位置
res = ss.slice(3,6);
console.log(res);
// 4)替换
res = ss.replace(‘abc‘,‘ABC‘);
console.log(res);
// 5)拆分 :string => array
res =ss.split(‘‘);
console.log(res);
// 6)拼接,只能字符串拼接
res = ss + ss;
console.log(res);
// 7) 迭代
for (s of ss) {
console.log(s)
}
// 数组
// array => string
let arr = [3,1,2,4,5];
res = arr.join(‘‘); // 默认, | ‘‘ | ‘自定义符合‘
console.log(res);
// 迭代
for (a of arr) {
console.log(a)
}
// 排序
// arr.sort() # 正序
// arr.reverse # 反序
// 增删改查
console.log(arr[4]); // 查,按索引查找
arr[4] = 555; // 改 按索引从新赋值
console.log(arr[4]);
arr.push(100); // 从列表的尾部增加
arr.unshift(200); // 从列表的头部增加
console.log(arr);
// 重点:增删改
arr.pop(); // 从列表的尾部删除
arr.shift(); // 从列表的头部删除
console.log(arr);
// 1.起始索引 2.操作的长度 3.操作后的结果(不定长0~n个)
arr.splice(2,1,222,333,444); // 结果 [3, 1, 222, 333, 444, 4, 555]
console.log(arr);
// 不定长参数, 在函数传参的括号内输入 ... 来表示此参数是一个不定长参数
function f(...a) {
console.log(a)
}
f(1,2,3,4,5,6,7,8)
// 字典
// 增删改查
dic = {};
// 增
dic[‘name‘] = ‘owen‘;
dic.age = 18;
console.log(dic); // {name: "owen", age: 18}
// 改
dic.age = 20;
console.log(dic); // {name: "owen", age: 20}
// 对象的删除
delete dic.age;
console.log(dic); // {name: "owen"}
// 查,使用.方法
// console.log(dic.name);
// 字典的迭代用 for in ,只能取到key, 无法取到value. 取到的key是一个字符串
for (k in dic) {
console.log(k)
}
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
h1 {
background-color: orange;
}
h2 {
background-color: darkgrey;
cursor: pointer;
}
</style>
</head>
<body>
<h1 id="hhh" style="font-size: 30px" owen="Owen" >
<i>js页面交互</i>
</h1>
<h2 class="hh2">副标题1</h2>
<h2 class="hh2">副标题2</h2>
<img src="" alt="">
<input type="text" value="12345">
</body>
<script>
// 鼠标事件
// let h1 = document.querySelector(‘h1‘); // 选择体格符合的标签,并赋值
//
// // onclick 鼠标单击时发生的事件
// // ondblclick 鼠标双击时发生的事件
// // onmouseover 鼠标移动到目标时发生的事件
// // onmouseleave 鼠标离开目标时发生的事件
// // onmousemove 鼠标移动时发生的事件
// // onmousedown 按下鼠标时发生的事件
// // onmouseup 鼠标抬起时发生的事件
//
// h1.onclick = function (ck) {
// console.log(ck); // 鼠标在点击h1时,打印包含着鼠标的相关信息
//
// // 鼠标点击h1时,会打印鼠标在页面中的坐标
// console.log(ck.clientX,ck.clientY);
//
// // 特殊按键,例如,当按下alt,ctrl,shift 的时候 会打印true 不按时会打印false
// console.log(ck.altKey,ck.ctrlKey,ck.shiftKey);
// };
//
// // 找到 h2 的位置,
// h2 = document.querySelector(‘h2‘);
//
// // 设置将鼠标放置h2标签上时,h1显示文本
// h2.onmouseover = function () {
// h1.innerText = ‘h2被悬浮了‘;
// h1.style.color = ‘green‘
// };
// // 再设置将鼠标拿开时,h1再次更改文本
// h2.onmouseleave = function () {
// h1.innerText = ‘h2被放开了‘;
// h1.style.color = ‘red‘;
// };
//
// let count = 1;
// h2.onmousemove = function () {
// ++count;
// h1.innerText = ‘鼠标在h2移动‘ + count + ‘次‘;
// this.innerText = ‘鼠标在h2移动‘ + count + ‘次‘; // this 表示自身标签
// };
// 为某个标签绑定事件。去控制页面中的任何一个标签(绑定事件中的this就代表自身)
// 键盘事件
// keyCode 键盘按键
//
// 只要在窗口下,点击鼠标就可以触发
// document.onkeydown = function (ck) {
// console.log(ck.keyCode);
// if (ck.keyCode == 37) {
// console.log(‘你按了键盘左键‘);
// } else if (ck.keyCode == 38) {
// console.log(‘你按了键盘上键‘);
// } else if (ck.keyCode == 39) {
// console.log(‘你按了键盘右键‘)
// } else if (ck.keyCode == 40) {
// console.log(‘你按了键盘下键‘)
// }
// console.log(ck.altKey);
// // 连接键,ctrl + keyCode==13(enter键)
// if (ck.ctrlKey && ck.keyCode == 13) {
// console.log(‘留言‘);
// }
// };
// 对input框中的输入记录键盘的操作
// let inp = document.querySelector(‘input‘);
// inp.onkeydown = function (ck) {
// console.log(ck.keyCode)
// };
// 表单事件
// let inp = document.querySelector(‘input‘);
// let h22 = document.querySelector(‘h2:nth-of-type(2)‘); // 使用伪类选择器定位到h2标签的第二个
//
// // onchange 当input 失去焦点才会触发 oninput 内容改变时触发
//
// inp.oninput = function () { // 当input框中改变内容时,h22的文本内容一起更改
// h22.innerText = this.value;
// };
</script>
<!--<script>-->
<!--// 表单内容-->
<!--let inp = document.querySelector(‘input‘);-->
<!--console.log(inp.value);-->
<!--inp.value = 67890;-->
<!--// console.log(inp.getAttribute(‘value‘));-->
<!--// inp.setAttribute(‘value‘,‘00000000000‘)-->
<!--</script>-->
<!--<script>-->
<!--// 1)找目标标签-->
<!--let h1 = document.querySelector(‘h1‘);-->
<!--// 2)获取样式,内容,属性-->
<!--let fontSize = h1.style.fontSize;-->
<!--console.log(fontSize);-->
<!--// 标签.style.属性名 只能获取行间式-->
<!--// getComputedStyle(ele_name,伪类选择器通常用null填充) 能获取所有方式的样式(内联与外联叫计算后样式)-->
<!--let bgColor = getComputedStyle(h1,null).backgroundColor;-->
<!--console.log(bgColor);-->
<!--console.log(h1.innerText); // 获取标签内的文本-->
<!--console.log(h1.innerHTML); // 获取标签-->
<!--console.log(h1.getAttribute(‘id‘)); // 获取id-->
<!--console.log(h1.getAttribute(‘owen‘)); // 获得标签内的属性,(此处的‘owen‘为自定义)-->
<!--// 3) 修改样式,内容,属性-->
<!--h1.style.color = ‘red‘; // js 可以直接修改样式 - 修改的是行间式-->
<!--h1.style.borderRadius = ‘50%‘; // css的 - 链接语法对应 js 的 小驼峰命名法-->
<!--h1.innerText = ‘修改过后的内容‘;-->
<!--h1.innerHTML = ‘<i>修改后的内容</i>‘;-->
<!--h1.setAttribute(‘owen‘,‘00000000000000‘);-->
<!--let img = document.querySelector(‘img‘);-->
<!--if (Math.random() > 0.5) {-->
<!--img.setAttribute(‘src‘,‘https://pic4.zhimg.com/v2-62f707093a092080ba1af623315c1331_b.jpg‘)-->
<!--img.setAttribute(‘src‘,‘https://pic3.zhimg.com/v2-3939aa204cac6921931d0de026f71e4f_b.jpg‘)-->
<!--}-->
<!--</script>-->
<script>
// 一,js 选择器:js如何与html标签建立起联系
// 1)
// 2) 同css3 选择器, 定位标签
// querySelector就是获取一个
// h1 = document.querySelector(‘#hhh‘);
// h1 = document.querySelector(‘body h1#hhh‘); // 按id
// console.log(h1);
// h21 = document.querySelector(‘#hhh~ .hh2‘); // 兄弟选择器
// console.log(h21);
// querySelectorAll就是获取多个
// h2s = document.querySelectorAll(‘#hhh~ .hh2‘);// 兄弟选择器,查找所有,使用列表套起来的对象
// console.log(h2s);
// // 优势:通过id ,class 或标签,都可以快速定位到一个或某几个
// h22 = document.querySelector(‘.hh2:nth-of-type(2)‘); // 伪类选择器,通过类名来查找所有,再使用伪类选择器选择第几个
// console.log(h22);
</script>
</html>
python第五十四天 javascript语法 1.运算符 2. 流程控制 3. 函数 4. 四种变量 5. 数据类型的运用 6. js页面交互
标签:驼峰 定位 赋值 接受 tor min and 类型 doc
原文地址:https://www.cnblogs.com/liguodeboke/p/11135290.html