- 编程语言JavaScript 标记语言 HTML 层叠样式表CSS核心技术来完成浏览器和访问人员的交互功能。Web前端的三大核心技术。
- JavaScript的组成包含三大部分,分别为ECMAScript、DOM和BOM。
ECMAScript: 定义了javascript的语法规范,描述了语言的基本语法和数据类型
BOM (Browser Object Model): 浏览器对象模型
- 有一套成熟的可以操作浏览器的 API,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等
DOM (Document Object Model): 文档对象模型
- 有一套成熟的可以操作页面元素的 API,通过 DOM 可以操作页面中的元素。
JS 代码三种写法
--行内样式 行内填写不推荐,不符合分离开发原则
--内嵌样式<script >内部填写</script>
--外部样式<script src="文件名.js"></script>有利于分离开发
JS 中的注释
**单行注释
**多行注释
有利于理解代码可读性
调试台要理解会用,Chrome
基本数据类型
--基本数据类型: 字符串string、数值型number、布尔型boolean、空null(有值)、未定义undefined
--
let name = ""
let money = 0
let age = "你妹" - 5//NaN
// 是否
let is = false
let wife = null
// 信仰
var be;
console.log(name, typeof (name));//"",string字符串类型
console.log(money, typeof (money));//0 number数据类型
console.log(age, typeof (age));//NaN number数据类型
console.log(inJail, typeof (inJail));//false boolean布尔型
console.log(wife, typeof (wife));//null object
console.log(be, typeof (be));//undefined undefined
--
/* "" 0 NaN null undefined 这几个转布尔都是false 其余值转Boolean皆为TRUE */
console.log(Boolean(""));
console.log(Boolean(0));
console.log(Boolean(NaN));
console.log(Boolean(null));
console.log(Boolean(undefined));
/* 正常值转换布尔皆为true */
console.log(Boolean("你妹"));
console.log(Boolean(-1));
console.log(Boolean({}));
for循环,do while 循环;break;continue
if;switch
// 遍历键值----遍历对象
for (var key in obj) {
console.log(key, obj[key]);
}
// attribute属性 attr
for (var attr in obj) {
console.log(attr, obj[attr]);
}
//数组可以用for i循环;i<arr.length;
利用索引来查询遍历数组;
for (var i = 0; i < arr.length; i++) {
console.log(i, arr[i]);
}
打印对象树
//打印深层次对象
function logObj(obj) {
//遍历对象
for (var key in obj) {
//判断属性值是否是object类型
var value = obj[key]
if (typeof (value) !== "object") {
// 如果是叶子则直接打印
console.log(key, value);
} else {
// 对子树进行递归打印
logObj(value)
}
}
}
// logObj(o)
第二种显示的对象树
function logObj2(obj, depth = 0) {
for (var key in obj) {
var value = obj[key]
if (typeof (value) !== "object") {
// 如果是叶子则直接打印
var str = "|-"
for (var i = 0; i < depth; i++) {
str += "|-"
}
// 带有层级深度的打印
console.log(str, key, value);
} else {
// 对子树进行递归打印
logObj2(value, ++depth)
}
}
}