js-基础(最简单的内容)

这一部分都是比较基础的,看完你可能觉得还是对js根本不了解,没关系。本身就是我的笔记,感兴趣可以搜搜真正大佬写的。

前面已经介绍过了,js是网页组成的一部分。

什么是js呢?

简单来说:js就是基于对象和事件驱动的,在浏览器端运行脚本语言

js的作用:

js的主要作用:为页面的标签元素添加相关的互动元素,

例如按钮,当我们添加js事件时,就能在点击按钮时出现弹窗、跳转等事件。

注:交互方式有 人机交互、前后端交互

js的组成三部分
        
ECMAScript:定义了JavaScript的语法规范,描述了语言的基本语法和数据类型
        BOM:.(Browser Object Model)浏览器对象模型。有一套完整的可操作浏览器的API,通过BOM可以操作浏览器。
        DOM (Document Object Model):文档对象模型,有一套成熟的可以操作页面元素的API,通过DOM可以操作页面元素。

如何使用js?

要想为页面添加js代码,有三种方式(和css类似):

第一种:行内样式。直接编写在标签内。

第二种:内部样式。在body标签内,通过添加<script></script>标签,在script编写js代码。

注:位置在</body>尾标签的上面,添加script标签。

这里就能测试一下我们前面写css样式时,为什么声明id选择器的id不能重名了!!!相信可能有的同学已经试过了,在css里面我们为多个不同标签名命名为同一个id时,css样式照样是会适用在每一个拥有id标签上生效。但是在js里面就不会,当出现多个相同id时,我们在js里面使用id选中这些标签,在页面中不会触发编写的js。

第三种:外部样式。我们可以类似css在文件夹里面再创建一个js文件夹,里面用于存放以 .js 结尾的js代码。

在页面内部使用<script></script>标签引入外部的js代码。

js里面的注释:

js里面的注释方式有两种,一种是单行注释、另一种是多行注释。

单行注释:” // " 单行注释,注释后的代码不会在页面中显示。—快捷键(ctrl+/)

多行注释:“ /*  */ ” 多行注释,能够在这个里面可以编写多行注释—快捷键(alt+shift+/)

js中的输出:

js中的输出方式,网页内输出、控制台输出、弹窗输出。

1.网页将内容输出在网页内:———document.write("")

2.使用弹窗输出内容:———alert("")

弹窗的种类:警告框、确认框、输入框。

弹窗输入框的编写:

3.在控制台打印内容:———console.log("")

js中的常量与变量

常量:

在代码中存在一些不会变化的值,我们称这些值为常量。

先给大家一个思考,想一想对于这些不会变化的值,我们为什么要设定一个常量给他们,而不是在编写时直接将这些值写入写死?

原因:之所以编写一个age常量,是因为当编写的足够长,这个常量多次出现时,我们可以使用age替代。如果像20这种短数值还能写一写,但是万一是像身份证一类的就会很容易出错,这个时候age常量的优势就能体现出来了。使用常量时,当我们输错还会给我们提醒。

变量:

在编写代码时我们希望发生变化的值,我们同样可以给他一个变量,避免来回的修改。

例如:我们写的页面中用户的生日,我们编写时就需要为这个设置一个变量,让我们能通过代码来对值进行更改,要不然就需要我们一年一改,万一是时间、股票类的,那不是需要人24小时没有任何休息的进行更改呀。

变量能实现的数据类型:

1.数值型

var str=123;可以通过var定义数值变量,可以参与正常的算术运算。

2.字符型

var str=“123”;这样定义的是123字符串,使用typeof()对str进行判断时,会显示String

3.布尔类型

布尔类型一共有两个值:true和false。这种值常出现在判断类结果后

4.null空 类型

null类型,有两个作用。一、用于占位;二、用于清空数据。

5.undefined类型

对于定义的变量,但是没有进行赋值时,就会打印undefined类型。

打印时会出现undefined的情况:

        1.在使用函数时,当我们传递的实参数量小于定义的形参数量时,为赋值的形参会显示。

        2.使用函数时,如果return返回值为空时,赋值给其他变量时也会打印undefined

6.其他的复杂数据类型

        复杂数据类型里面有:函数、对象、数组、正则等等。

检查数据类型:

1.typeof(),用来检查变量的数据类型。常见的几种有:Number(数值型)、String(字符型)、Object(空型)、Undefined(undefined类型)、Boolean(布尔类型)、function(函数类型)。

null的数据类型为object原因,按照计算机的2进制来看,null是全部为0,object类型前几位也是0.

2.isNaN(),用来判断一个值在转化为数值时,是否能转化为NaN,如果在字符转化为NaN,返回值为true,如果存在能转化为数值的字符(例如,true、null等),返回值都是false。(可以先看转换部分,再来理解这部分内容。)

常见数据类型之间的转换:


强制转化为数值类型:

        1.字符类型强制转化为数值类型
                a.纯数字字符串类型强转为数值类型,直接转为对应的值,例如:"123"-->123
                b.不是纯数字字符类型强转数值类型,直接转为NaN
                c.空字符串和空格字符串都转化为0.
        2.布尔类型强制转化为数值类型
                1.布尔类型值为true时,强制转化为数值类型对应的是1;
                2.布尔类型值为false时,强制转化为数值类型对应的是0;
        undefined类型,强制转化为数值类型,转化为NaN

        null类型,强制转化为数值类型,转化为0


强制转化为字符串类型:

对于其他的数值类型转化为字符传类型是,只需要在值上添加双引号""。例如: true -"true". 123-"123".
 强制转换的方法: String(待转类型值)、变量名.toString 0 :

强制转化为布尔类型:

        1.数值类型强制转化为布尔类型
                只有0和NaN转化为false,其余的数值都会转化为true.
        2.字符类型强转布尔类型
                只有空字符串强转false,其余的都转化为true
        3.undefined类型和null类型只会转化为false

隐式转换:


不同于强制类型转换,隐式转换是在计算过程中电脑自己进行的转换。
算术运算:
        a.数值类型+数值类型                正常求和运算
        b.数值类型+字符类型                隐式转换,数值转换为字符,然后进行拼接
        c.字符类型+字符类型                直接拼接
比较运算:
        a.两个数值类型进行比较运算,直接进行比较
        b.—个数值类型和一个字符类型进行比较,字符类型隐式转换成数值类型,进行比较
        c.都是字符类型,按照字符顺序进行比较,第一个和第一个比较、第二个和第二个进行比较....…第n个和第n个进行比较、只要存在false就返回false。

运算符

数学运算符:+、-、*、/、%

加法:两种含义,

        1:拼接,当加号两边都是字符串类型时,str+“123”=str123;

        2.加法,当加号两边都是数值类型时既能正常运算:3+4=7

减法:只能按照算术运算来算,对于字符串能转化的转化,转化不了的会报错

乘法:只能按照算术运算来算,对于字符串能转化的转化,转化不了的会报错

除法:只能按照算术运算来算,对于字符串能转化的转化,转化不了的会报错

取余:只能按照算术运算来算,对于字符串能转化的转化,转化不了的会报错

字符与数值的转换:

1.对于布尔类型,true转化为1;false转化为0;

2.对于字符类型,带引号的数字字符,直接转化为对应的数字;非数字字符转化为NaN

3.Null空类型,转化为数值类型时,值为0

4.undefined类型转化时,数值为NaN

5.数值类型转化为布尔类型时,0和n转化为false,其余的值都是true

只要在算术运算中出现NaN,结果都是NaN,如果存在未定义的变量,则报错。

赋值运算符:=、+=、-=、*=、/=、%=

“=” ,赋值符,将等号右边的值赋值给等号右边。b=2,a=b —> a=2

“+=”,简写形式,正常的形式是 a = a+1 —> a += 1;

“-=”,“*=”,“/=”,“%=” 都是和上述一样。

比较运算符:>、<、>=、<=、!=、==

">"、"<"、">="、"<="和我们所学的都一样,大于、小于、大于等于、小于等于

“!=” 不等号,A != B  ,A不等于B

“==”判断是否相等,A==B,A等于B吗?

逻辑运算符:与(&&)、或(||)、非(!)

判断中常见,通常是符合条件适用。例如:即使男人又是女人的人进(男&&女)、男人和女人都能进(男||女)、人不能进(!人)

自增自减运算符  

        ++自增:
++在前,例如++a、++b。++在前,表示先进行自加而后用增加过的值再参与运算。例如:a=10; b= ++a;所以a=11; b= 11;
++在后,例如a++、b++。++在后,表示先进行赋值、输出、计算然后再自身增加。例如:a=10; b=a++;所以: a=11; b=10;
        --自减:
--在前,例如--a、--b。--在前,表示先进行自减而后使用改变过的值参与别的运算。例如: a=10; b= --a;所以a=9; b=9
--在后,例如a--、b--。--在后,表示先进行赋值、输出、计算然后在进行自减。例如: a=10; b=a--:所以:a=9; b=10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值