当前位置:   article > 正文

JavaScript快速入门

JavaScript快速入门

目录

一、初始JavaScript

1、JavaScript是什么

2、JavaScript快速上手

3、引入方式

二、基础语法

1、变量

2、数据类型

3、运算符

三、JavaScript对象

1、数组

(1)数组的定义

a、使用 new 关键字创建

b、使用字面量方式创建(常用)

(2)数组操作

2、函数

(1)语法格式

(2)关于参数个数

(3)函数表达式

3、对象

(1)使用 字面量 创建对象[常用]

(2)使用 new Object 创建对象

(3)使用 构造函数 创建对象


一、初始JavaScript

1、JavaScript是什么

        JavaScript(简称JS),是一个脚本语言,解释型或者即时编译型语言。虽然它是作为开发Web页面的脚本语言而著名,但是也应用到了很多非浏览器的环境中。

        但它和Java没有半毛钱关系,只是名字相似,可以理解为是当年JavaScript为了蹭Java的热度,才起的这个名字。

        HTML、CSS、JavaScript之间的关系。如图:

        HTML: 网页的结构

        CSS:网页的表现

        JavaScript:网页的行为

2、JavaScript快速上手

        JavaScript是用<sript></script>标签包裹的,代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=<sr>, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. alert("Hello World")
  11. </script>
  12. </body>
  13. </html>

        结果如下:

3、引入方式

引入方式语法描述示例
行内样式直接嵌入到html内部

<input type="button" value="点我一下"

οnclick="alert('haha')">

内部样式定义<script>标签,写到script标签中

<script>

        alert("haha!");

</script>

外部样式定义<script>标签,通过src属性引入外部js文件<script src="???.js"></script>

        3种引入方式对比

1、内部样式:会出现大量的代码冗余,不方便后期的维护,所以不常用。

2、行内样式:只适合于写简单样式,只针对某个标签生效。缺点是不能写太复杂的js。

3、外部样式:html 和 js 实现了完全分离,企业开发常用方式。


二、基础语法

        JavaScript虽然一些设计理念和Java相差甚远,但是在基础语法层面上还是有一些相似之处的。

1、变量

关键字解释示例
var早期JS中声明变量的关键字,作用域在该语句函数范围内var name='zhangsan';
lesES6种新增声明变量的关键字,作用域在该语句所在代码块内les name='zhangsan';
const声明变量的,声明变量后不能修改const name='zhangsan';

注意事项:

a、JavaScript是一门动态弱类型语言,变量可以存放不同类型的值(动态),例如:

  1. <script>
  2. var name = "zhangsan";
  3. var age = 20;
  4. </script>

        随着程序的运行,变量的类型可能会发生改变。(弱类型)

  1. <script>
  2. var a = 10;//数字
  3. a = "haha";//字符串
  4. </script>

        而Java是静态强类型语言,在变量声明时,需要明确定义变量的类型。如果不强制转换,类型不会发生变化。

b、变量名命名规则

1)、组成字符可以是任何字母、数字、下划线(_)或美元符号($)

2)、数字不能开头

3)、建议使用驼峰命名

c、+ 表示字符串拼接,也就是把两个字符串首尾相接变成一个字符串

d、\n 表示换行

2、数据类型

        虽然js是弱数据类型的语言,但是js中也存在数据类型,js中的数据类型分为:原始类型 和 引用类型,具体有如下类型:

数据类型描述
numbernumber,不区分小数和整数.
string

字符串类型.

字符串面值需要使用引号引起来,用双引号或者单引号皆可

booleantrue真,false假
undifined表示变量未初始化

        代码如下:

  1. <script>
  2. var a = 10;
  3. console.log(typeof a);//number
  4. var b = "hello";
  5. console.log(typeof b);//string
  6. var c = true;
  7. console.log(typeof c);//boolean
  8. var d;
  9. console.log(typeof d);//undefined
  10. var e = null;
  11. console.log(typeof e);//null
  12. </script>

        结果如下:

3、运算符

        JavaScript中的运算符和Java用法基本相同。

运算符类型运算符
算术运算符+,-,*,/,%
自增自减运算符++,--
赋值运算符=,+=,-=,*=,/=,%=
比较运算符

<,>,<=,>=,!=!==

== 比较相等(会进行隐式类型转换)

=== 比较相等(不会进行隐式类型转换)

逻辑运算符&&,||,!
位运算符

& 按位与

| 按位或

~ 按位取反

^ 按位异或

移位运算符

<< 左移

>> 有符合右移(算术右移)

>>> 无符号右移(逻辑右移)

三元运算符条件表达式 ? true_value : false_value


 

        代码示例:

  1. <script>
  2. console.log(age == age1);//true,会进行隐式转换,比较的是值,值是一样的
  3. console.log(age === age1);//false,不会进行隐式转换,类型不一样
  4. console.log(age == age2);//true,类型和值都一样
  5. </script>

        执行结果:

Java和JavaScript不同之处总结:

1)计算 1 / 2 :Java的结果是 0;JavaScript 的结果是 0.5

2)== 比较相等Java不会隐式转换;JavaScript会进行隐式转换,例子上面已经举出来了

3)=== 比较相等Java中没有,JavaScript表示的意思是进行比较时不会进行隐式转换,上面已经举出例子了

4)!= 和 !== 分别对应上面的 2,3。

三、JavaScript对象

1、数组

(1)数组的定义

        创建数组有两种方式:

a、使用 new 关键字创建

        代码:

  1. //Array 的 A 要大写
  2. var arr = new Array();

        结果如下:

        

b、使用字面量方式创建(常用)

        代码:

  1. var arr1 = [];
  2. var arr2 = [1, 2, "haha", false];
  3. console.log(arr1);
  4. console.log(arr2);

        结果如下:

        

注意JS的数组不要求元素是相同类型。(这一点和C,C++,Java等静态类型的语言差别很大;但Python,PHP等动态类型语言也是如此)

(2)数组操作

        1、读使用下标的方式访问数组元素。(从0开始)

        2、增通过下标新增,或者使用 push 进行追加元素

        3、改通过下标修改

        4、删使用 splice 方法删除元素

        代码:

  1. <script>
  2. var arr = [1, 2, "haha", false];
  3. //读取数组
  4. console.log(arr[0]);//1
  5. //添加数组元素
  6. arr[4] = "add";
  7. console.log(arr[4]);//add
  8. console.log(arr.length);//5,获取数组的长度
  9. //修改数组元素
  10. arr[4] = "update";
  11. console.log(arr[4]);//update
  12. //删除数组元素
  13. arr.splice(4, 1);//都一个参数表示从下标为4的位置开始删除,第二个参数表示要删除多少个元素
  14. console.log(arr[4]);//undefined 元素已经删除,如果元素不存在,结果为undefined
  15. console.log(arr.length);//4,获取数组的长度
  16. </script>

        结果如下:

        

注意:

a、如果下标超出范围读取元素,则结果为 undefined

b、不要给数组名直接赋值,此时会把数组中的所有元素都搞没了

        相当于本来 arr 是一个数组,重新复制后变成了字符串,代码如下:

  1. var arr = ["⼩猪佩奇", "⼩猪乔治", "⼩⽺苏西"];
  2. console.log(arr);
  3. arr = "猫猫汤姆";
  4. console.log(arr);

        结果如下:

        

2、函数

(1)语法格式

        格式如下:

  1. // 创建函数/函数声明/函数定义
  2. function 函数名(形参列表) {
  3. 函数体
  4. return 返回值;
  5. }
  6. // 函数调⽤
  7. 函数名(实参列表) // 不考虑返回值
  8. 返回值 = 函数名(实参列表) // 考虑返回值

        代码演示:

  1. <script>
  2. function hello() {
  3. console.log("hello");
  4. }
  5. //如果不调用函数,则没有执行打印语句
  6. hello();
  7. </script>

        结果如下:

注意函数定义并不会执行函数体内容,必须调用函数才会执行,调用几次就执行几次

(2)关于参数个数

        现有下面函数:

  1. function sum(a, b) {
  2. return a + b;
  3. }

a、实参个数比形参个数多时,则多出来的实参参数不参与函数运算

        代码:

  1. function sum(a, b) {
  2. return a + b;
  3. }
  4. console.log(sum(10, 20, 30));//30

        结果如下:

        

b、实参个数比形参个数少,则多出了的形参值为 undefined

        代码:

  1. function sum(a, b) {
  2. return a + b;
  3. }
  4. console.log(sum(10));//NaN,相当于 num2 位 undefined

        结果如下:

        

        当一个数值类型的变量与undefined进行数学运算时结果会变为NaN(Not a Number),表示不是一个有效的数值

(3)函数表达式

        处理上面这种直接定义函数,也可以使用赋值的方式定义函数。代码如下:

  1. var add = function() {
  2. var sum = 0;
  3. for(var i = 0; i < arguments.length; i++) {
  4. sum += arguments[i];
  5. }
  6. return sum;
  7. }
  8. console.log(add(10, 20));//30
  9. console.log(add(1,2,3,4));//10
  10. console.log(typeof add);//function,表示是函数

        执行结果:

        

        此时 形如 function() {   },这样的写法定义了一个匿名函数(此时函数是没有函数名的,就称为匿名函数),然后将这个匿名函数用一个变量来表示,就可以通过这个变量 add 来调用函数了

3、对象

在JS中,字符串、数值、数组、数组、函数都是对象,每个对象中包含若干的属性和方法。JavaScript的对象和Java的对象概念上基本一致,只是具体的语法表现形式差别较大。

        属性:事务的特征

        方法:事务的行为

(1)使用 字面量 创建对象[常用]

        字面量创建对象,是使用 { } 创建对象,下面创建一个student对象,代码:

  1. <script>
  2. var a = {};//创建了一个空的对象
  3. var student = {
  4. name: "蔡徐坤",
  5. height: 175,
  6. weight: 170,
  7. sayHello: function() {
  8. console.log("hello");
  9. }
  10. };
  11. </script>

特点

1、使用 { } 创建对象

2、属性和方法使用键值对的形式来组织

3、键值对之间使用逗号 " , " 分割,最后一个属性后面的逗号,可有可无

4、键和值之间使用分号 " : " 进行分割

5、方法的值是一个匿名函数 。

使用上面创建的对象的属性和方法,代码:

  1. <script>
  2. var a = {};//创建了一个空的对象
  3. var student = {
  4. name: "蔡徐坤",
  5. height: 175,
  6. weight: 170,
  7. sayHello: function() {
  8. console.log("hello");
  9. }
  10. };
  11. //1、使用 . 成员访问运算符来访问属性
  12. console.log(student.name);
  13. //2、使用 [ ] 访问属性,此时属性需要加上引号
  14. console.log(student['height']);
  15. //3、调用方法,记得要加上 ()
  16. student.sayHello();
  17. </script>

        方法不能用中括号 " [ ] "

        结果如下:

(2)使用 new Object 创建对象

        代码:

  1. var student = new Object();//和创建数组类似
  2. student.name = "蔡徐坤";
  3. student.height = 175;
  4. student["weight"] = 170;
  5. student.sayHello = function() {
  6. console.log("hello");
  7. }
  8. console.log(student.name);
  9. console.log(student["weight"]);
  10. student.sayHello();

注意使用 { } 创建对象,也可以随时使用 student.name = "蔡徐坤"; 这样的方式来新增属性

(3)使用 构造函数 创建对象

        格式如下:

  1. function 构造函数名(形参) {
  2. this.属性 = 值;
  3. this.⽅法 = function...
  4. }
  5. var obj = new 构造函数名(实参);

上面的 this 表示当前这个函数,加上 . 属性就表示这个函数的属性。和Java的一样

注意

1、在构造函数内部使用 this 关键字来表示当前正在构建的对象

2、构造函数的函数名首字母一般是大写的

3、构造函数的函数名可以是名词

4、构造函数不需要 return

5、创建对象的时候必须使用 new 关键字

        使用构造函数重新创建猫咪对象,代码如下:

  1. function Cat(name, type, sound) {
  2. this.name = name;
  3. this.type = type;
  4. this.miao = function() {
  5. console.log(sound);// 别忘了作⽤域的链式访问规则
  6. }
  7. }
  8. var mimi = new Cat("咪咪", "中华田园猫", "喵");
  9. var xiaohei = new Cat("小黑", "波斯猫", "猫呜呜呜");
  10. var ciqiu = new Cat("刺球", "布鲁斯猫", "咕噜噜");
  11. console.log(mimi);
  12. mimi.miao;

        执行结果:

        ​​​​​​​


都看到这了,点个赞再走吧,谢谢谢谢谢

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/468181
推荐阅读
相关标签
  

闽ICP备14008679号