Javascript学习笔记部分总结

javascript学习笔记部分总结

1.js是一种脚本语言,有逐行解释执行的特点,js分为三个部分 ECMAScript(Javascript语法)、Dom(页面文档对象模型)、Bom(浏览器对象模型)。
2.js有三种写法

  • 行内式的js,直接写到元素的内部,写入标签中以on 开头<input type="button" value="唐伯虎" onclick="alert('秋香姐!')"

  • 内嵌式的js,直接写到<head>标签中的<script>标签中,和css类似

  • 外部js 、script 双标签<script src="my.js"></script>
    一.js的基础语法
    1.js的注释

  • 单行注释//

  • 多行注释/* */
    2.输入输出语句

  • 输入框prompt(' ')

  • 弹出警示框alert(' ')

  • 控制台输出,用于程序员的输出console.log()
    二.变量
    1.变量的声明
    (1)声明变量var age;声明一个名为age 的变量
    (2)同时声明多个变量var age ,address;变量间用逗号隔开
    (3) 声明特殊变量

  • 只声明不赋值,结果为undefied

  • 不声明不赋值,结果会报错

  • 不声明直接赋值,可使用但不推荐
    2.变量的数据类型
    js是一种弱类型或者说是动态语言,在程序运行的过程中通过等号右边的值来确定是什么类型。
    数据类型的分类
    (1)number 数字型,包含整型和浮点型
    数字型的范围
    最大值consolo.log(number.Max_value)
    最小值consolo.log(number.Min_value)
    无穷大consolo.log(Infinity)
    无穷小consolo.log(-Infinity)
    非数值consolo.log(NaN)
    补充isNaN()可用于判断非数字,并且返回一个值,若是则返回false,不是则返回true
    (2)字符串型string
    字符串转义字符(用\开头,需要写在引号里面)

转义字符解释
\n换行符
\ttab缩进
\b空格

字符串长度(length)
字符串由若干字符组成,字符的数量就是字符串长度,通过length属性获取字符串的长度

var strMsg="我是帅气的";
alert(strMsg.length);

字符串的拼接
多个字符串之间可以使用**+**进行拼接,方法为字符串+任何类型=拼接后的字符串,只要有字符串和其他类型相拼接,最终结果一定是字符串。
(3)布尔型有两个值:true和false,true为真,false为假,布尔型和数字型相加时,true的值为1,false的值为2。
(4)undefined、null型
(5)获取检测数据类型(typeof)

var num=10;
alert(typeof num);

promot取过来的值均为字符串类型
(6)数据类型的转换
1.转换为字符串类型

  • tostring 转化为字符串
var num=1;
alert(num.tostring());
  • string()强制转换
var num=1;
alert(string(num));
  • 利用+拼接字符串
var num=1;
alert(num+'');

2.转换为数字型

方法解释实例
parselent(string)将string转化为整型parsenlent(‘78’)
parseFloat(string)将string转化为浮点型parseFloat(“78.21)
Number()将string强制转化为数值型Number(’'12)
js隐式转换(-*\)利用算术运算转为数值型‘12’-0

3.转换为布尔型
Boolean()函数,其他类型转化为布尔型
二.运算符
1.算术运算符,用于执行两个变量的算术运算

符号作用
+
-
*
/
%

2.递增递减运算符
1.递增(++)分为前置运算符和后置运算符
(1)前置运算符++写在前面,先自加后返回值
(2)后置运算符++写在后面,先返回值后自加
2.递减(- -)和递加差不多
3.比较运算符

符号作用
<小于
>大于
>=大于等于
<=小于等于
===全等,值和数据类型都相等
!==不全等

5.逻辑运算符

符号作用
&&逻辑与(全真则true,有假则false)
//逻辑或(有真则真,全假则假)
逻辑非

6.赋值运算符
+=、=、*=、/=、%=
三.条件语句
1.if语句

//语法
if(条件表达式){
条件成立
}

2.if else语句

if(条件表达式){
条件成立}
else 条件不成立;

3.if else if语句

if(条件表达式){
执行1
}
if else(条件表达式){
执行2
}
else 以上都不满足

4.三元表达式(?:)

条件表达式?表达式1:表达式2

思路: 若表达式为真,则返回1,假则返回2
5.switch语句

switch(表达式){
case value1:执行语句1break.
    .
    .
    default:以上都不满足

注意:使用switch时,值必须要全等,当case中无break时,会直接执行下一个case。
四.循环(可以重复执行某些代码)
1.for循环

for(初始化变量;条件表达式;操作表达式){
循环体
}

2.while循环

while(条件表达式){
循环体
}

3.do while循环

do{
循环体
}
while(条件表达式)

4.continue、break
continue用于跳出本次循环,继续下一个循环
break用于跳出整个循环(循环结束)
5.数组(一组数据的集合体)
1.数组的创建方式
(1)利用new创建数组

var 数组名= new Array();//创建一个新的空数组

(2)利用数组字面量创建数组

var 数组名:[]//空数组

2.数组中新增元素
(1)根据修改length长度
可以通过修改length长度来实现扩容的目的
(2)修改索引号(数组的下标)
可以通过修改数据索引的方式追加数组的元素
五.函数(封装了一段可以被重复执行调用的代码块)
1.函数的声明

function 函数名(){
函数体
}

2.调用函数

函数名()

3.函数的参数

function 函数名(形参1,形参2...{
函数体
}
函数名(实参1,实参2...

4.函数中实参和形参不匹配的问题
(1)实参的个数大于形参的个数,会取到形参的个数
(2)形参的个数大于实参的个数时会定义为undefinded,结果为NaN
5.函数的返回值

function 函数名{
return 需要返回的结果
}

return是一个终止函数,return后的代码不会执行,return只能返回一个值,return可以返回一个数组。
6.arguments的使用(只有函数体有arguments对象,且每个函数中都内置了这个对象)
arguments 中存储了所有传递过来的参数,是一个伪数组,可以遍历所有的参数。

function fn(){
alert(arguments);
}
fn(1,2,3)
//结果为[1,2,3]

7.函数的两种声明方式
1.利用关键字自定义函数
2.函数表达式(匿名函数)

var 变量名=function(){
函数体
}
变量名();

六.作用域
代码名字在某个范围内起作用和效果
全局作用域:整个script标签或者是一个单独的js文件
局部作用域:在函数内部起效果和作用
块级作用域{}:if(),for()
作用域链:内部函数访问外部函数的变量,采取链式查找的方式决定取哪一个值(就近原则)
七.预解析
js引擎运行分为两步:预解析 代码执行
1.预解析分为变量预解析(变量提升)和函数预解析(函数提升)
(1)变量提升:将所有变量声明提升到当前的作用域的最前面,不提升赋值操作
(2)函数提升:将所有的函数声明提升到当前作用域的最前面,不调用函数。
八.对象
对象是一个具体的事物,一组无序的相关属性和方法的集合
属性:事物的特征
方法:事物的行为
1.创建对象
(1)对象字面量创建对象

var obj={
num = 1,
age = 2}//创建了一个对象

里面的属性和方法采用了键值对的方法。键:属性名 值:属性值。多个属性或者方法中间用逗号隔开,方法冒号后面跟的是一个匿名函数
(2)利用new object()创建对象

var obj = new object();//创建了一个空对象
obj.num = 1;
obj.age = 18;

利用等号=赋值的方法添加对象的属性和方法、每个属性和方法之间用;隔开
(3)利用构造函数创建对象

function 构造函数名(){
this.属性:值;
this.方法:function(){
}
}
var obj = new 构造函数名();

构造函数的首字母要大写,调用构造函数必须使用new,属性和方法的前面必须添加this。
2.使用对象
调用对象的属性:对象名.属性名
调用属性的另一种方法:对象名['属性名']
调用对象的方法:对象名.方法名()
3.遍历对象属性
for in语句用于对数组或对象进行循环操作

//for(变量in对象){
//}
for(var k in obj)
{
alert(k);//得到属性名
alert(obj[k]);//得到属性值

暂时就学到这儿咯

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值