js学习笔记之概述

javaScript

一、概述

javascript特点:

​ 1.用于完成html网页交互
​ 2.脚本语言
​ 3.弱类型的
​ 4.客户端的脚本
​ 5.解释性的,边执行边解释
​ 6.区分大小写

组成:

​ ECMAScript、浏览器对象模型(BOM)和文档对象模型(DOM)

网页上引入js脚本三种形式

1.网页内部使用
<script type="text/javascript">
	//js代码
</script>
2.引入外部js脚本
	1)添加javascript文件,在里面编写代码
	2)在html页面中
	<script type="text/javascript" src="要引入文件的相对路径" >
    </script>
3.在网页标签元素的属性中添加
<input type="button" name="btn" value="请点击"  onclick="alert('hello world!!!')"/>

注意:

​ head 内的 JavaScript 需要执行结束才开始渲染 body,所以尽量不要将 JS 文件放在 head 内。可以选择在 document 完成时,或者特定区块后引入和执行 JavaScript。

​ 而 CSS 应当写在 head 中,以避免页面元素由于样式缺失造成瞬间的白页或者给用户闪烁感。

三种引入JavaScript脚本的方式适用场景?

  • 如果在标签属性中添加,只能作用于本标签,不能实现效果的重用
  • 如果在页面内部通过Script标签引入,可以实现本页面的效果共享
  • 引入外部js文件,可以实现页面间的代码共享,保证网页结构代码和效果代码相分离
输出语句
1.alert(“输出信息”);

​ 网页弹框

2.console.log();

​ 控制台输出信息

3.document.write();

页面显示内容

注释:

1.单行 //
2.多行注释 /* */

变量及数据类型

javaScript是弱类型的,松散型的

1.变量

变量声明
var 变量名;

同时定义多个变量:

var 变量名1,变量名2,....; 
变量赋值
var 变量名=值;

同时定义多个变量赋值:

var 变量名1=,变量名2=,....;

变量声明赋值; (javaScript弱类型的)
1.先声明再赋值
2.不用声明直接赋值 x=10;//ok

2.数据类型

1)基础数据类型
String 字符串

​ 定义 :

​ 单引号(‘ 字符串’)或者双引号(“字符串”)都可以,但是前后必须匹配

var str1="";var str2='';

注意:

js中 双引号内不能包含双引号,单引号内不能出现单引号。如果需要嵌套定义,必须使用单双引号交替。

嵌套定义建议使用外双内单

var word="网址是 ‘www.baidu.com’";

转义符:

序号特殊字符含义例子
1\ ’单引号
2\ "双引号
3\ n回车换行
4\ tTab,大空格
5\ r换行
6\ f换页
7lv跳格
8\ \显示反斜杠
9\ b退格
number

javascript中数字类型不区分整数和小数,都用number类型表示,支持正负值

var n1=100;var n2=90.99; 

特殊值:NaN

非数值(Not a Number)

特点:

  • 任何涉及NaN的操作(例如NaN/5)都会返回NaN。
  • NaN与任何值都不相等,包括NaN本身。例如下面的代码会返回false

检测:

使用 isNaN():检测一个值是否为NaN
规则:
isNaN方法会把参数转换为数值,若不能转换为数值则函数返回false。

​ 而任何不能被转换为数值的值都会导致这个函数返回true。

Boolean 类型

值:true false
转型函数Boolean()。
规则:

		1. String类型:任何非空字符串转换为true,空字符串("")转换为false;  			2. Number类型:任何非零数值(包括无穷大)转换为true,0和NaN转换为false;  			3. Object类型:任何对象转换为true,null转换为false;  			4. Object类型:任何对象转换为true,null转换为false;  			5. Undefined类型:只能转换为false。        注意:当遇到流程控制语句(如if语句)也会对数据自动执行相应的Boolean转换
2)复合数据类型
3)特殊数据类型
undefined (未定义型)

变量声明了,但是没有初始化

var x;//声明但是没有初始化console.log(x);//undefinedconsole.log(y);//没有定义   y is not defined

注意:变量未初始化和变量没有定义是不同的概念

null (空的值)

​ 跟undefined的区别是:
​ undefined变量定义了 但是跟本就没有赋值
​ var z=null;
​ null,变量定义了,有值,但是值就是null

4)检测数据类型
  • typeof(变量)

    来判断一个值或变量究竟属于哪种数据类型,其返回的数据类型有以下几种:

    	undefined、boolean、string,number,object,function,symbol(符号,ES6新增)
    
  • instanceof

    ​ 用于判断复合数据类型

3.运算符
1)算数运算符
运算符描述
+求和,或者字符串拼接
-求差
*求积
/求商
%求余数
++递增,加一
递减,减一
2)赋值运算符
运算符描述
=右边赋值给左边
+=x+=y 等价于 x=x+y
-=x-=y 等价于 x=x-y
*=x*=y 等价于 x=x*y
/=x/=y 等价于 x=x/y
3)比较运算符
运算符描述
===恒等于,完全一样
!==不恒等,完全不一样
4)逻辑运算符

&& || !

数组
1.创建

1)实例化Array对象

var 数组名=new Array();var 数组名 =new Array(1,值2,值3...);//例如var t=new Array("abc",123,true,null);

2)字面量

var 数组名=[];var 数组名=[1,值2,值3....];//例如var v=[123,'abc',,,];//数组元素可以为空

3.parseInt() 解析字符串并返回一个整数或NaN,可以解析二进制,八进制和十六进制的数值
4.parseFloat():解析字符串并返回一个浮点数
parseFloat()函数始终都会忽略前导的零,且不具备传入基数的能力。

 浮点数值的最高精度是17位小数,但在进行算数计算时其精确度远远不如整型。1.infinity  :当大于或小于某个界限时,该值会被自动转换为特殊值——Infinity。	isFinite()函数可以判断一个数值是否无穷大。	它会把参数转换为数值,如果得到的结果是NaN、Infinity或-Infinity,函数返回false(假),其他情况返		回true(真)。

字符串:
1.字符串的值不能更改
2.toString()方法,可以将 数值,对象,布尔,字符串 转换成字符串
var num=100;
console.log(num.toString());//以十进制的形式转换成字符串
console.log(num.toString(2));//以二进制的形式转换成字符串
console.log(num.toString(8));//以八进制的形式转换成字符串
console.log(num.toString(16));//以十六进制的形式转换成字符串
注意:null和undefined 不能调用这个方法
可以使用 String()来进行判断
3.String()函数
可以将任意类型转换成String字符串,包括null和undefined

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值