JS学习记录1/js代码编写位置/JS注释/JS编写注意点/字面量/变量/标识符/数据类型/强制类型转换/运算符

一个完整的JavaScript实现包含三个部分:ECMAScript、DOM和BOM。
ECMAScript是JavaScript的标准。

JS代码需要写在script标签中。
alert(),控制浏览器弹出一个警告。
document.write(),作用是向body里输出一个内容。
console.log向控制台输出一个内容。

可以将js代码编写到标签的onclick属性中。
例:<button onclick="alert('讨厌,你点我干嘛')">点我一下</button>
可以将js代码写在超链接的属性中,这样当点击超链接时执行js代码。
例:<a href="javascript:alert('让你点你就点');">你也点我一下</a>
虽然有这两种方式,但是他们属于结构性为耦合,不方便维护,不推荐使用。

可以将js代码编写在外部js文件中,然后通过标签script标签引入,写在外部文件中可以在不同的页面中同时引用,也可以利用到浏览器的缓存机制,推荐使用机制。script标签一旦用于引入外部文件了,就不能编写代码了,即使编写了代码浏览器也会忽略,如果需要则可以再创建一个新的script标签用于编写内部代码。
注意点:js代码是按照从上到下一行一行执行。
例: <script type="text/javascript" src="../js/day.js"></script>

JS注释:
/**/ :多行注释,注释中内容不会执行,但是可以在源代码中查看。
//:单行注释,只对其后边一行内容起作用。

JS编写注意点:
1、JS中严格区分大小写。
2.JS每一条语句以一条(;)结尾。如果不写分号,浏览器会自动添加,但是会消耗一些系统资源,而且有些时候浏览器会加错分号,所以在开发中必须写。
3、JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化。

字面量和变量:
字面量是一些不可改变的值。比如1、2、3,字面量都是可以直接使用,但是一般不会直接使用。
变量可以保存字面量,变量的值可以任意改变,变量更加方便使用,所以开发中都是用变量保存字面量,可以通过变量对字面量进行描述。

声明变量,在js中使用var关键字来声明一个变量。var a;
为变量赋值,a =123;
声明和赋值同时进行,var a =123;

标识符:
在JS中所有的可以由我们自主命名的都可以称为是标识符,比如变量名、函数名、属性名都属于标识符。
命名标识符时需与遵守如下规则:
1、标识符中可以含有字母、数字、_、$
2、标识符不能以数字开头
3、标识符不能是ES中的关键字和保留字
关键字和保留字符
4、标识符一般都采用驼峰命名法,首字母大写,每个单词的开头字母大写,其余字母小写。例;helloWorld
JS底层保存标识符时实际上采用的是Unicode编码,所以理论上讲,所有的utf-8中含有的内容都可以作为标识符。

数据类型:
数据类型指的就是字面量的类型,在JS中一共有六种数据类型,
String 字符串、Number 数值、Boolean布尔值、Null空值、Undefined 未定义,Object 对象。

String 字符串、Number 数值、Boolean布尔值、Null空值、Undefined 未定义属于基本数据类型,而Object 对象属于引用数据类型。
String 字符串:
在JS中字符串需要使用引号引起来var str = "hello";alert("hello")
注意点:
1、双引号和单引号都可以,但是不要混这用,只能在双引号里放单引号
2、在字符串中,我们可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义。‘表示’,“表示”,\n表示换行,\表示\。

在JS中所有的数值都是Number类型,包括整数和浮点数(小数),JS中可以表示数字的最大值的是Number.MAX_VALUE,如果使用Number表示得到的数字超过了最大值,则会返回一个Infinity(为字面量)表示正无穷,-infinity表示负无穷。
表示数字零以上的最小值是Number.MIN_VALUE。
可以使用运算符typeof来检查一个变量的类型。
语法:typeof 变量 例:console.log(typeof a);
NaN是一个特殊的数字,表示Not A Number,检查时也会返回number,是字面量。
在JS中整数的运算基本可以保证精确,如果使用JS计算浮点元素,可能得到一个不精确的结果,所以千万不要用JS进行对精确度要求比较高的运算。

Boolean 布尔值只有两个,主要用来做逻辑判断,true表示真、false表示假,例:var bool = true;

Null类型的值只有一个,就是null,专门用来表示一个为空的对象,检查Null值时会返回object。
Undefined类型的值只有一个,就undefined,当声明一个变量,但不给它赋值时,他的值就是undefined,使用检查undefined时返回undefined。

强制的类型转换,值将一个数据类型强制转换为其他的数据类型,类型转换主要指,将其他数据类型转换为String Number Boolean。

将其他数据类型转换为String
方式一:调用被转化数据类型的toString()方法,调用xxx的yyy方法,就是xxx.yyy(),该方法不会影响到原变量,它会将转换的结果返回,例:var b = a.toString();也可先转换类型再直接赋值给原变量,例:a = a.toString();
注意点:Null 和Undefined这两个值没有toString()方法,如果调用它们的方法会报错。
方式二:调用String函数,并将被转换的数据作为参数传递给函数,例:a=String(a);对于Number Boolean实际上就是调用toString()方法,对于Null 和Undefined,就不会调用toString()方法,它将null直接转换为“null”,将undefined直接转换为“undefined”。

将其他类型数据类型转换为Number
方式一:使用Number()函数,例:a = Number(a);
字符串 --> 数字
1、如果纯数字的字符串,则直接将其转换成数字。
2、如果字符串中有非数字的内容,则转换成NaN。
3、如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。
布尔 --> 数字
true转成1,false转成0。
Null --> 数字 0
Undefined --> 数字NaN
方式二:这种方式专门用来对付字符串
parseInt() 把一个字符串转换成一个整数,可以将字符串中的有效的整数内容取出来,然后转换为Number
parseFloat() 把一个字符串转换成浮点数,与parseInt()类似,不同的是它可以获得有效的小数。
如果对非String使用parseInt()或parseFloat()它会先将其转换为String,然后再操作。例:a=true;a=parseInt(a);输出结果是NaN。

在JS中,如果需要表示16进制的数字,则需要0x开头,例:a=0x10;如果需要表示8进制的数字,则需要以0开头(在2020的webstorm中八进制需要以0o开头)例:a=0o70;表示2进制的数字需要以0b开头(不是所有浏览器都支持)
注意:像“070”这样的字符串,有些浏览器会当成8进制解析,有些会当成10进制解析。
可以在parseInt()中传递第二个参数来指定数字的进制,例:a=parseInt(a,10);
(在2020的webstorm中Number类型表示的8进制用该方法指定无效)

将其他数据类型转换成Boolean,调用Boolean()函数,例:a=Boolean(a);
数字 --> 布尔
除了0和NaN,其余的都是true。
字符串 --> 布尔
除了空串,其余的都是true。
null和indefined都会转换成false。
对象也会转换为true。

运算符也叫操作符,通过运算符可以对一个或多个值进行运算。比如:typeof就是一个运算符,可以获得一个值的类型,并获取运算结果,它会将该值的类型以字符串的形式返回。
算数运算符:+、-、(乘法)、/(除法)、%(取模运算,即取余数)。
当对非Number类型的值进行运算时,会将这些值转换为Number然后再运算。true->1,false->0,null->0,任何值与NaN计算都得NaN。
注意点:
1、如果对两个字符串进行加法运算,则会做成拼串,会将两个字符串拼接为一个字符串,并返回。
2、任何的值和字符串做加法运算都会先转换成字符串,然后和字符串做拼串操作。我们可以利用这一特点,来将一个任意的数据类型转换为String我们只需要为任意的数据类型+一个""即可将其转换成String类型,这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数。
result=1+2+“3”; //result=33;
result=“1”+2+3;//result=123;从左到右计算,与字符串相加后的结果也是字符串。
任何值做-、
、/ 运算时都会自动转换成Number,可以这一特点做隐式类型的转换,可以通过为一个值-0、*1、/1 来将其转换成Number,原理和Number()函数一样,使用起来更加简单。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小婵婵不怕鬼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值