JavaScript 教程
JavaScript主要三部分组成:
- 核心(ECMAScript)
- 文档对象模型(DOM)
-
核心(ECMAScript)
《ECMAScript 6 入门教程》
规定了这门语言的基本组成部分,主要以下几个部分组成
语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
-
文档对象模型(DOM)
DOM的功能简答说就是可以获取到我们写的所有的html标签,并给标签添加或删除样式,事件等
这些功能事件基于下面的几种接口 DOM遍历和范围:可以找到页面中所有的标签。
- DOM事件:添加事件等。
-
浏览器对象模型(BOM)
BOM只会处理跟浏览器相关的东西,比如 :
弹出新窗口
- 移动,缩放,关闭浏览器窗口
- 给用户提供显示器分辨率的功能
- 提供浏览器信息
JavaScript书写位置
内部或外部,跟css类似
// script标签嵌入JavaScript代码
<script>
// JavaScript代码
let name = "Bob";
function(){
console.log("我的名字叫:"+name);
}
</script>
外部引入
<script src="index.js"><script>
js入门
模板字符串
一般字符串拼接用+,比较繁琐
let firstName = '胡';
let lastName = '雪岩';
let say = '大家好,我姓' + firstName + ',名' + lastName;
console.log(say);
模板字符串可以简化书写,核心是用反引号 (
)和占位符 ${ expression },反引号的作用是将字符串和变量包起来,占位符就是插入变量,for example
let firstName = '胡';
let lastName = '雪岩';
let say = `大家好,我姓${firstName},名${lastName}`;
console.log(say);
模板字符串还可以使用表达式:
let number1 = 20;
let number2 = 10;
console.log(`两个数的和是:${number1 + number2}
两个数的差是:${number1 - number2} 。`);
使用三元表达式
let str = `这里是${false ? '浙江' : '江苏'}`;
console.log(str); // 江苏
let str = `这里是${false ? '浙江' : `江苏-${true ? '南京' : '常州'}`}`;
console.log(str); // 这里是江苏-南京
let str = `这里是${
true ? `浙江--${true ? '杭州' : '丽水'}` : `江苏-${true ? '南京' : '常州'}`
}`;
console.log(str); // 这里是浙江--杭州
使用场景一
根据屏幕宽度来动态改变样式
// 定义屏幕的宽度,当然这个宽度是根据window的api去获取的
let screen = 760;
// 判断屏幕是大屏还是小屏,这里我们认为大于760px的就是大屏
function isLargeScreen() {
return screen > 800;
}
// 定义元素的排列方式,大屏row排列,小屏column排列
// 具体什么排列方式,是根据屏幕大小决定的
let item = {
isCollapsed: screen > 800
};
// 这里我们就要根据上面的信息来动态的获取类名(多个)
const classes = `header ${
isLargeScreen() ? '' : `icon-${item.isColumn ? 'column' : 'row'}`
}`;
console.log(classes);
使用场景二
利用js 组装HTML代码
let htmlCode = `
<img src='' />
${
true
? `<img src='https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1906469856,4113625838&fm=26&gp=0.jpg' />`
: `<img src='' />`
}
`;
console.log(htmlCode);
// <img src='' />
// <img src='https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1906469856,4113625838&fm=26&gp=0.jpg' />