js即javascript是一种由浏览器直接解析的脚本语言,在我们编写网页时常常会使用到它,无论是操作元素还是改变样式还是处理页面行为交互,它都可以实现
一、怎么在代码中引入和使用js?
1.在代码中直接使用:
<script type="text/javascript">
// js代码
</script>
2.引入外部js
<script type="text/javascript" scr="要引入的js文件的路径"></script>
二、js的六个基础类型
其中有五个是基本数据类型,即Null,Undefined,Number,String,Boolean
还有一个是复杂数据类型,即object
它们各自代表什么含义?
1.Null 空
2.Undefined 未定义
3.Number 数字类型
4.String 字符串类型
5.Boolean 布尔值类型,即true和false
怎么判断一个js变量的基础类型?
答案:使用typeof,比如现在有一个变量的值为‘123‘,那么typeof(变量名),即可获得它的类型为string。另外isNaN()可以判断是不是数字,返回布尔值
三、变量
在说明六个数据类型之间的关系和转换之前先介绍一下变量
什么是变量?
答:变量即用来存储数据的容器
我们可以新建一个变量,有两种方式
1.var a=1;这意味着我们定义了一个名字叫a的变量,它的值为1,同时它的this指向当前的this,只有在当前的this才能使用它,
2.a=1;这意味着我们定义了一个名字叫a的变量,它的值为1,但是他是一个全局变量,我们可以在任意this指向使用它
什么是this?这个关键字的含义有些多,也很重要,我会另写一篇文章来介绍它
这里你可以先这样理解,地球本身就是一个全局的环境,地球的this就指向它的本身。
你好,我的名字叫地球。这句话可以这样理解 我们所在的地方 是 ‘地球‘;,
而在地球上的我们则是全局环境中的一部分,所以我们也知道我们所在的地方就是地球,你可以和别人说,我在地球上,因为这本来就是定义过得,被我们所知道的。
而又假如在地球上有这样两个人,一个叫张三,一个叫李四。张三的鼻子上面有一个黑痣,而李四的鼻子上没有黑痣,由此可知鼻子上的黑痣在两人中是张三特有的,即指向张三的。李四无法说我鼻子上有黑痣,即这个黑痣就是张三所独有的一个局部变量。
好绕,暂时想不到更好的形容。
另外定义变量是,比如var a;这时我们虽然定义了变量a,但是却没有给它赋值,所以它的值就是undefined
变量的特性有哪些?
1.变量名必须以字母或者下划线或者美元符开头
2.它的值是可变的
3.区分大小写的
四、数据类型的转换
1.转换为字符串类型
1)String(变量名),比如变量a的值是数字1,经过String转换后它的值就会变为字符串1,即‘1‘,它的类型也会变为string
2)变量名.toString(),也可以将其他的类型转换为字符串类型,但是不能转换null和undefined
2.转换为数字类型
Number(变量名),会改变值,并且类型变为数字类型
parseInt(变量名),把值变成整数,并且类型变为数字类型
parseFloat(变量名),把字符串变成浮点数,并且类型变为数字类型
3.转换为布尔类型
Boolean(变量名),会改变值,并且类型变为数字类型
Boolean转换不为0的数字得到的值都是true,为0则为false
Boolean(‘‘)===false(注意这里是空字符串),Boolean(‘ ‘)===true(注意这里是字符串空),Boolean(undefined)===false,Boolean(null)===false
以上几种转换类型的方式都明显的改变了数据的类型,因此叫做强制转换
4.除了强制转换,还存在一种隐式转换
隐式转换你没有刻意去改变他的数据类型,但是它却发生改变了
1)运算符号+-*/
数字5+字符串‘5‘,输出的结果会变成字符串‘55‘,即数字加字符串=字符串
数字5-字符串‘5‘,数字5*字符串‘5‘,数字5/字符串‘5‘,输出的结果类型为数字
2)!,!!
会把数据类型转换为布尔类型
五、js怎么输出和打印变量
1)alert(变量名),以弹窗的形式输出变量的值
2)console.log(变量名),在控制台中打印变量的值,控制台在哪里打开?在浏览器中按f12,在出现的区域中点击console
3)document.write(变量名),输出在网页上,会覆盖原网页内容
六、js的函数
什么是函数,在js中函数的代码为function,是一个需要执行特殊处理的代码块,需要通过调用才会执行
比如:
function popup() {
alert(123)
}
popup();
以上代码就会调用函数名为popup的函数,弹框输出数字123
怎么让一个函数不经过调用自己执行呢?
(function popup() {
alert(123)
}());
函数本身的this指向window,即全局对象
两个不同的function之间不相互影响,比如
function ad() {
var a = 1;
}
function ed() {
alert(a);
}
ed();
此时ed是找不到这个变量a的,因为在ed中并没有定义变量a
七、js的对象
即obejct,一切皆对象,string、number、array(数组)、Date(日期)、function(函数)等等都是对象
对象拥有自己的属性和方法
1)对象的属性,比如:
var obj = {
name: ‘张三‘
}
以上代码可知变量obj是一个对象,并且它拥有一个name为张三的属性
2)对象的方法,比如:
var obj = {
myFun: function() {
console.log(123)
}
}
以上代码可知变量obj有一个叫做myFun的方法,我们怎么调用这个方法?obj.myFun();
注意此时这个this是指向obj这个对象的
原文:https://www.cnblogs.com/woywan/p/12614537.html