javascript学习

学习目标:

掌握javascript的对象前的内容

学习内容:

一.JavaScript的基本编写规则

1.JavaScript的编写位置

JavaScript是写在网页中的。
1.JS代码可以写在script标签中。
例如:

<script type="text/javascript">
      alert("你真帅啊");
</script>

2.JS代码可以写到标签的onclick属性中,当点击按钮时,JS代码执行。

<button onclick="alert('讨厌,你点我干嘛');">你也点我一下</a>

3.可以将JS代码写在超链接的href属性中,这样当点击超链接时,会执行JS代码。
4.可以将JS代码编写到外部JS文件中,然后通过script标签引入。(最推荐的用法)

<script type="text/javascript" src="js/script.js">
<.script>

注意:script标签一旦引入文件以后,就不蹦编写代码了,即使编写了也会被浏览器忽略,
如果需要编写内部的JS可以在写一个script。

5.数据类型:
A.String字符串
在JS中字符串需要使用引号引起来;
使用双引号或单引号都可以,但是不要混着用;
引号不能嵌套,双引号不能放双引号,单引号不能放单引号;
在字符串中我们可以使用\作为转义字符,当表示一些特殊符号时,可以使用\进行转义
【"表示”,‘表示’,\n表示换行,\t制表符,\表示\】;
B.Number数值
在JS中所有的数值都是number类型,包括整数和浮点数;
【可以使用运算符typeof来检查一个变量的类型,语法:typeof 变量;检查字符串时,会返回string检查数值时,会返回number】
JS中整数的计算基本没问题。
如果使用JS进行浮点运算,可能得到一个不精确的结果,所以千万不要使用JS进行对精确度要求不叫高的运算。

console.log(typeof b)

C.Boolen布尔值
布尔值只有两个:true false。
用来做逻辑判断。

var bool=true;

D.Null用来表示空对象

var a=null;

使用typeof检查一个null时,会返回object;
E.Undefined(未定义)的类型的值只有一个,就是undefined
当声明一个变量,但是不给变量赋值时,它的值就是undefined

2.js基本语法

1.注释:
a.多行注释——/* */
b.单行注释——/ /
2.js中严格区分大小写;
3.js中每一条语句以分号(;)结尾;
4.变量的声明与赋值
在js中使用var关键字来声明一个变量。其他使用与c++相似。
5.标识符的规则
a.标识符中可以含有字母,数值,_等符号。
b.标识符不能以数字开头
c.标识符不能说JS中的关键字

3.强制的类型转换

指将一个数据类型强制转换为其他的数据类型;
类型转换主要志将其他的数据类型,转换为string number boolean
1.将其他的数据类型转换为string
方法一:调用被转换数据类型的toString()方法。
调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回。

var a=123;
a.toString();

方法二:调用String()函数,并将被转换的数据作为参数

a=123;
a=String(a);

使用String()函数做强制类型转换时
对于Number和Boolean实际上就是调用的toString()的方法,但是对于null直接转换为"null"将undefined直接转换为"undefined".
2.将其他数据类型转换为Number
转换方式一:使用Number()函数

var a="123";
a=Number(a);

注意:
1.如果时纯数字的字符串,则直接将其转换为数字
2.如果字符中有菲数字的内容,则转换为NaN
3. 如果字符串是一个空串或者是一个全是空格的字符则转换为0
4. 如果为布尔值,则true转换为1,false转成0
5. Null转换为数字为0
6. undefined转换为数字为NaN
转换方式二:
这种方法专门用来对付字符串。
parseInt()把一个字符串转换为浮点数,parseInt()可以将一个字符串中的有效的整数内容去出来。
然后转换为Number。
pardeFloat()作用和parseInt()类似,不同的是它可以获得有效的小数。
3.将其他的数据转换为Boolean
使用Boolen()函数;
调用Boolen()函数来将a转换为布尔值;

a=123;
a=NaN;
a=0;

数字转布尔除了0和NaN,其余都是true。
字符串转布尔值,除了空串为false其余都是true。
null和undefined都会转换为false。
对象也会转换为true。

4.其他进制的数字

在js中,如果需要表示16进制数字,则需要以0x开头
如果需要表示8进制的数字,则需要以0开头
如果需要表示2进制的数字则需要以0b开头,但不是所有浏览器都支持。

a=0xff;
a=070;

注意:像"070"这种字符串,优秀额浏览器会当成8进制解析,有些会当成10进制解析;
所以可以在pardeInt()中传递一个第二个参数,来指定数字的进制。

a=parseInt(a,10);
a=parseInt(a,8);

二、运算符

1.“+”
需要注意的点:任何值和字符串做加法运算都会先转换为字符串再像连接。我们可以利用这一特点,来将一个数据类型转换为String,我们只需要为任意数据类型+一个""即可将其转换为String。

result=1+2+"3";

上式的结果为33
【除了相加时有字符串外,其他的情况都是将字符串转换为数字后运算,可以利用这一特点-0将string转换为Number】
2.”-“

result=100-"1";

结果是99;

3.“*”

result=2*"2";

4.正负号
利用正负号能将字符串转换为数字计算

result=1+ +"2"+3;

5,自增与自减
a++的值是a自增前的值,++a是a自增后的值;
b–的值是b自减前的值,–b是b自减后的值;

6.布尔运算符
或与非基本用法与c++一致;
在或运算中如果第一个值为true则不再进行第二个运算,只有当第一个值为false时才进行第二个运算。
&&与||非布尔值的情况:
与运算——如果第一个值为ture,则返回第二个值。如果第一个值为false,则返回第一个值。
或运算——如果第一个值为ture,则返回第一个值。如果第一个值为false,则返回第二个值。

7.赋值运算符
用法与c++一致

8.关系运算符
数字的比较与c++一致,如果一端为数字,一端为字符,则字符串能转换为数字再比较。
任何值与NAN比较的值都是false。
如果符号两侧的值都是字符时,比较的是字符串的编码,比较时是一位一位的比较的,如果两位一样,则比较下一位。

三、Unicode编码表的使用

1.在字符串中使用转义字符输入Unicode编码——"\u"码(这里用的是16进制)
2.在网页中使用Unicode编码——&#码(这里用的是10进制)

四、条件语句

条件运算符也叫三元运算符。
语法:条件表达式?语句1:语句2;
执行的流程:
条件运算符在执行时,首先对田间表达式进行求值,
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果

五、与c++基本相似的其他语句

switch,for,while,break,continue等语句与c++基本一致。
需要回顾的是continue与break的不同。
continue语句的作用是跳过本次循环执行下一个循环。
break语句是直接跳出循环。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值