翼度科技»论坛 编程开发 JavaScript 查看内容

JavaScript基础

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
引入方式

JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。
内部引入

写在 body 结束标签的上方。
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.   <title>Document</title>
  8. </head>
  9. <body>
  10.   
  11.   
  12. </body>
  13. </html>
复制代码
外部引入
  1. // 文件名 demo.js
  2. alert('我是外部的 js文件')
复制代码
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.   <title>Document</title>
  8. </head>
  9. <body>
  10.   
  11. </body>
  12. </html>
复制代码
内联引入
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.   <title>Document</title>
  8. </head>
  9. <body>
  10.   
  11.   
  12. </body>
  13. </html>    按钮  
复制代码
输入输出

输出


  • alter() 以弹窗形式输出。
  • document.writer() 输出在页面上。可以写 HTML 标签,会被解析。
  • console.log() 控制台输出。
输入

展示一个输入弹窗。
  1. prompt()
  2. prompt(message)
  3. prompt(message, defaultValue)
复制代码
参数说明:

  • message:提示信息
  • defaultValue:文本框中的默认值
变量

声明及赋值
  1. let name1;
  2. let name1 = value1;
  3. let name1 = value1, name2 = value2;
  4. let name1, name2 = value2;
  5. let name1 = value1, name2, /* …, */ nameN = valueN;
复制代码
参数说明:

  • nameN:变量名称。
  • valueN:变量初始值,默认值为 undefined。
关键字

JavaScript 使用专门的关键字 let 和 var 来声明(定义)变量,在使用时需要注意一些细节:
以下是使用 let 时的注意事项:

  • 允许声明和赋值同时进行
  • 不允许重复声明
  • 允许同时声明多个变量并赋值
  • JavaScript 中内置的一些关键字不能被当做变量名
以下是使用 var 时的注意事项:

  • 允许声明和赋值同时进行
  • 允许重复声明
  • 允许同时声明多个变量并赋值
大部分情况使用 let 和 var 区别不大,但是 let 相较 var 更严谨,因此推荐使用 let。
命名规则

关于变量的名称(标识符)有一系列的规则需要遵守:

  • 只能是字母、数字、下划线、$,且不能能数字开头
  • 字母区分大小写,如 Age 和 age 是不同的变量
  • JavaScript 内部已占用于单词(关键字或保留字)不允许使用
  • 尽量保证变量具有一定的语义,见字知义
常量

概念:使用 const 声明的变量称为“常量”。
使用场景:当某个变量永远不会改变的时候,就可以使用 const 来声明,而不是let。
命名规范:和变量一致
  1. const PI = 3.14
复制代码
注意: 常量不允许重新赋值,声明的时候必须赋值(初始化)
数据类型

可以通过 typeof 关键字检测数据类型
  1. document.writer(typeof 1) // number
  2. document.writer(typeof '字符串') // string
  3. document.writer(typeof true) // boolean
  4. let tmp
  5. document.writer(typeof tmp) // undefined
复制代码
基本数据类型


  • number:数值型
  • string:字符串型

      1. // 使用 "" '' `` 包裹的都为字符串
      2. // 当使用 `` 时,为模板字符串,例如: `我今年${age}岁`,可以避免字符串拼接
      3. let age = 20
      4. document.writer(`我今年${age}岁`)
      复制代码

  • boolean:布尔型
  • undefined:未定义型
  • null:空类型
引用数据类型


  • object:对象
数组

定义数组
  1. let arr = []
  2. // a) 数组单元值的类型为字符类型
  3. let list = ['HTML', 'CSS', 'JavaScript']
  4. // b) 数组单元值的类型为数值类型
  5. let scores = [78, 84, 70, 62, 75]
  6. // c) 混合多种类型
  7. let mixin = [true, 1, false, 'hello']
复制代码
操作数组


  • push 动态向数组的尾部添加一个单元
    1. /*
    2.     push()
    3.     push(element0)
    4.     push(element0, element1)
    5.     push(element0, element1, … , elementN)
    6. */
    7. const animals = ['pigs', 'goats', 'sheep'];
    8. const count = animals.push('cows');
    9. console.log(count);
    10. // Expected output: 4
    11. console.log(animals);
    12. // Expected output: Array ["pigs", "goats", "sheep", "cows"]
    13. animals.push('chickens', 'cats', 'dogs');
    14. console.log(animals);
    15. // Expected output: Array ["pigs", "goats", "sheep", "cows", "chickens", "cats", "dogs"]
    复制代码
  • unshit 动态向数组头部添加一个单元
    1. /*
    2.     unshift()
    3.     unshift(element1)
    4.     unshift(element1, element2)
    5.     unshift(element1, element2,  …,  elementN)
    6. */
    7. const array1 = [1, 2, 3];
    8. console.log(array1.unshift(4, 5));
    9. // Expected output: 5
    10. console.log(array1);
    11. // Expected output: Array [4, 5, 1, 2, 3]
    复制代码
  • pop 删除最后一个单元
  • shift 删除第一个单元
  • splice 从指定位置开始,删除0~N个数
    1. /*
    2.     splice(start)
    3.     splice(start, deleteCount)
    4.     splice(start, deleteCount, item1)
    5.     splice(start, deleteCount, item1, item2, itemN)
    6.    
    7.     start:开始位置,包括该位置
    8.     deleteCount(可选):删除的个数,如果为0则必须有 item,即将 item 插入指定索引位置
    9.     item(可选):要插入的元素
    10. */
    11. const months = ['Jan', 'March', 'April', 'June'];
    12. months.splice(1, 0, 'Feb');
    13. // Inserts at index 1
    14. console.log(months);
    15. // Expected output: Array ["Jan", "Feb", "March", "April", "June"]
    16. months.splice(4, 1, 'May');
    17. // Replaces 1 element at index 4
    18. console.log(months);
    19. // Expected output: Array ["Jan", "Feb", "March", "April", "May"]
    复制代码
函数声明
  1. /*
  2. function:关键字
  3. 形参与返回值是可选的,非必须
  4. */
  5. function 函数名(形参) {
  6. // 逻辑代码
  7. return 返回值;
  8. }
  9. /*
  10. 匿名函数,一般用于函数表达式
  11. */
  12. let fun = function() {
  13. console.log('函数表达式')
  14. }
  15. // 调用
  16. fun()
  17. /*
  18. 立即执行函数
  19. 多个立即执行函数之间必须要使用 ; 隔开
  20. */
  21. (function(形参) {
  22. })(实参);
  23. (function(形参) {
  24. }(实参));
复制代码
对象

对象的构成与声明
  1. // 空对象
  2. let obj = {}
  3. // 对象构成
  4. let 对象名 = {
  5.     属性名: 属性值,
  6.     方法名: function() {}
  7. }
复制代码
对象的操作

属性访问与方法调用
  1. /*
  2.         属性名需要使用 "" 或 '' 包裹,但可以省略
  3.         当属性名包含特殊符号时则必须使用上述符号包裹
  4. */
  5. const person = {
  6.   name: ["Bob", "Smith"],
  7.   age: 32,
  8.   bio: function () {
  9.     console.log(`${this.name[0]} ${this.name[1]} 现在 ${this.age} 岁了。`);
  10.   },
  11.   introduceSelf: function () {
  12.     console.log(`你好!我是 ${this.name[0]}。`);
  13.   },
  14. };
  15. // 点表示法
  16. person.name;
  17. // 括号表示法,一般用于属性名有特殊符号的时候
  18. person['name'];
  19. person.name[0];
  20. person.age;
  21. person.bio();
  22. // "Bob Smith 现在 32 岁了。"
  23. person.introduceSelf();
  24. // "你好!我是 Bob。"
复制代码
遍历对象
  1. const obj = {
  2.   uname: '张三',
  3.   age: 18,
  4.   gender: '男'
  5. };
  6. for (let key : obj) {
  7.     console.log(obj[key])
  8.     /*
  9.             张三
  10.             18
  11.             男
  12.     */
  13. }
复制代码
来源:https://www.cnblogs.com/fallingintodreams/p/17806169.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具