diff --git "a/39 \351\203\255\346\202\246\350\277\216/20231027 JS\345\217\230\351\207\217\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213.md" "b/39 \351\203\255\346\202\246\350\277\216/20231027 JS\345\217\230\351\207\217\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..87d30c07938e019286cec0093fc9e7983e688324 --- /dev/null +++ "b/39 \351\203\255\346\202\246\350\277\216/20231027 JS\345\217\230\351\207\217\345\222\214\346\225\260\346\215\256\347\261\273\345\236\213.md" @@ -0,0 +1,255 @@ +## 笔记 + +### JavaScript变量 + +- **如何命名一个变量?** + +1. 变量的声明:使用 var关键字 + +2. 变量的赋值:使用 = 给变量进行赋值 + + ```html + var name = "why" + ``` + +- 这个过程也可以分开操作 + + ```html + var name; + name = "coderwhy"; + ``` + +- 同时声明多个变量 + + ```html + var name,age,height + name = "why" + age = 18 + height = 1.88\ + console.log(name,age,height) + 或者 + var name = "why", age = 18, height = 1.88 + console.log(name,age,height) + ``` + + + +**命名规范**: + +1. 不能用js的关键字和保留字命名; +2. 基本上所有的编程语言,都不允许变量的开始有数字 +3. 可以使用下划线 (_) 或 美元符号 ($) +4. 变量严格区分大小写 +5. 多个单词使用驼峰标识 建议 >>>(小驼峰) + + + +> **ps**:js 代码在html内部写法,需要先写一对script标签; +> +> 声明 js 的变量的时候,不需要写数据类型,js 会自动根据你的值判断它 + + + +**注意事项**: + +1. 一个变量未声明就直接使用,会报错 + +2. 定义一个变量,但此时还未赋值,报错>>>undefined + + > - undefined 即是一种数据类型,也是一种值,也就是说,undefined 这种类型的数据只有 undefined 这一个值,类似null; + > - undefined 表示变量的值未定义,也就是有变量名,但没有值,连null都没有null + +3. 如果没有使用var声明变量也可以,但不推荐 + + ```html + e.g. myBrother = '成龙'; // 不是标准的变量定义语法,少了var + ``` + + > 没有var也没报错,是因为这种写法将 myBrother = '成龙' 写到了windows对象中 + + + +### **JavaScript的数据类型** + +- JS 中的值都具有特定的类型 +- JS 中有八种基本的数据类型,前七种为基本数据类型,也称为原始类型;object 为复杂数据类型 + 1. **Number** + 2. **String** + 3. **Boolean** + 4. **Undefined** + 5. **Null** + 6. **Object** + 7. **BigInt**(后续了解) + 8. **Symbol**(后续了解) + + + +**typeof操作符**: + +> 判断一个变量此时是什么类型 +> +> e.g. console.log(typeof...) + +- typeof(x) 与 typeof x 用法相同 + + + +**Number类型一**: + +1. number类型代表浮点数和整数 + +2. 数字number可以有很多操作 + + e.g 乘除加减等等 + +3. 特殊数值:infinity 无穷大;NaN 计算错误 + +**Number类型二**: + +1. 十进制(掌握)、十六、二、八进制(了解) + +2. 最大值 (Number.MIN_VALUE)、最小值(Number.MAX_VALUE) + +3. isNaN :判断是否不是一个数值 + + > NaN :Not a Number 不是一个数值 + > + > isNaN :是?不是一个数值吗?>>> 不是数字返回 true ,反之,返回 false + + + +**String类型**: + +1. 单引号,双引号都可以用来标记字符串 +2. 全部英文引号 +3. 引号是成对出现,且前后要一致 +4. 如果内容本身有引号,那么标记的引号要相反 + + + +**字符串的属性和方法** + +1. 操作一:字符串拼接 + + > 在+号的左右两边,只要出现一个字符串,这个+号就不是加法运算,而是拼接字符串,而且得到一个新字符串 + > + > e.g. console.log('aa'+1+1+2); >>> aa112 + > + > console.log(1+1+2+'aa'); >>>4aa + +2. 操作二:获取字符串长度 + + e.g. console.log(str1.length); >>> length直接返回字符串 + + + +**字符串中的转义字符**: + +1. \ ' 单引号 + +2. \ " 双引号 + +3. \ t 制表符 + +4. \ n 换行符 + + > 暂时掌握这四个单词 + +5. 还有\ \ 反斜杠、\ r 回车 、\ b 退格 + + + +**Boolean类型**: + +1. 用于表示真假 + + e.g. 是否成年、是否登录等等 + +2. 仅包含两个值:true 和 false + + + +**Undefined类型**: + +1. 只有一个值,就是特殊值 undefined + + ps:如果声明一个变量,但是没有对其进行初始化值时,他默认就是undefined + + e.g. var = message + + console.log(message) >>> undefined + + console.log(message === undefined) >>>true + +## 作业 + +```html + + +
+ + +