javascript基础知识

javascript是一种运行于javascript解释器/引擎中的解释型脚本语言,即运行前不需要编译,也不会检查错误,直到出现错误为止

1、js组成

  • 核心(ECMAScript)
  • 文档对象模型(DOM,Document Object Model),让js有能力与网页进行对话
  • 浏览器对象模型(BOM,Browser Object Model),让js有能力与浏览器对话

 

2、将js代码嵌入html页面中

  • 第一种,将JS代码嵌入在元素“事件中”,onclick:当前单机元素时所作的操作,如<div id="" οnclick="JS代码"></div>
  • 第二种,将js代码嵌入在<script>标记中,<script></script>允许出现在网页中的任意位置
  • 第三种,将JS代码写在外部脚本文件中(**.js);首先创建js文件,并编写JS代码(***.js) , 然后在页面中引入js文件<script src="js文件路径"></script>

 

3、变量声明

var  变量名

 

4、数据类型

基本数据类型分类:

a、数字类型(number)——可表示32位的整数和64位的浮点数     // typeof number 为number

b、字符串类型(string)——表示一系列的文本类型,由Unicode字符,数字,标点在内存中,都占2字节;\n表示换行,/r表示回车,/t表示制表符     // typeof string 为string

c、布尔类型(boolean)——用于表示条件的结果     // typeof boolean 为 boolean

d、空(Null)——声明对象未赋值     // typeof null 为 object

e、未定义(unfinded)——声明变量未赋值或访问对象不存在     // typeof unfinded 为unfinded

数据类型转换:

 JS是弱类型:由数据来决定变量的数据类型是什么

 a、隐式转换:自动转换,由JS在运算过程中,自己进行转换的操作,不需人为参与

  • 函数:

         typeof()或者typeof;

         ex:var num1 = 15;

                var s1 = typeof num1;//获取num1的数据类型 Number

  • NaN:Not a Number——不是一个数字;isNaN判断数据是否为非数字,结果为true——不是一个数组

                所有数据类型和string类型相加后,结果都为string数据类型

    b、显示转换(强制转换)- 转换函数

  • s1.toString()——将任意类型的数据转换为string类型,变量.toString()将会得到一个全新的结果,类型为string;此方法null类型不可转换为string类型,可以使用String(s1)转换
  • parseInt()——类型为整型,用来获取指定数据的整数部分,从左向右依次转换,碰到第一个非整数字符,则停止转换;如果第一个字符就是非整数字符,则结果为NaN;用法——var result  = parsetInt(数据);true转换后为NaN;可将123abc转换为123
  • parseFloat()——将指定数据转化为小数,用法同上
  • Number()——将一个字符解析为number,如果包含非法字符,则返回NaN;用法同上;true可转换为1;123abc不可转换
  • 在数据前面加正负号或让数据减0也可把数据转换为数值类型
  • Boolean(变量)——将指定数据转换为布尔类型,除null,unfinded,"",0,NaN转换结果为false外,其他均为true

 

5、函数

  • 语法:

          function 函数名(参数列表声明){

             可执行语句;
         }

  • 声明提前:JS在正式执行之前,会将var声明的变量和function声明的函数,预读到所在域的顶部,但是对变量的赋值,还保留在原来的位置        
console.log(a);//不会出错,输出undefined,无下面一行就会报错
var a = 100;
console.log(a);//100;

var a;//仅声明提前
console.log(a);//undefined
a = 100;//赋值仍保留在原位置
console.log(a);//100
  • 按值传递:传参时,实际上是将实参复制了一份副本传给了函数。在函数体内,对变量进行修改,实际上是不会影响外部实参变量的

6、循环

continue关键字——用在循环中,用于终止本次循环,继续下次循环

break关键字——用在循环中,终止整个循环结构

 

7、数组

  a.创建(两种方法都可直接在括号初始化)

  • 数组直接量:var arr=[];
  • 用new:var arr=new Array();//在创建数组时,还不知道数组中元素内容时常用此方法

  b.固定套路

  • 获取数组最后一个元素:arr[arr.length-1]
  • 获取数组倒数第n个元素:arr[arr.length-n]
  • 数组缩容:减少arr.length的数值,会删除结尾对的多余元素

c.关联数组:可以自定义下标名称的数组   

var bookInfo=[];//先定义空数组
bookInfo['bookName']='西游记';//再初始化

for(var key in hash){
    key//只是元素的下标名
    hash[key]//当前元素值
}

不能用字符输出,length属性失效,不能用for循环遍历,只能用for....in

c.数组API

  • String(arr):将arr中每个元素转化为字符春,用逗号分隔;固定套路——对数组拍照,用于鉴别是否数组被修改过
  • arr.join("连接符"):将arr中每个元素转化为字符串,用自定义的连接符分隔                                                                                                   固定套路:1.将字符组成单词,单词组成句子;2.判断数组时空数组:arr.join("")=="";                                                                                               3.将数组转化为页面元素的内容:"<开始标签>"+arr.join("<结束标签><开始标签>")+"</结束标签>";
  • a1.reverse():颠倒数组中元素的顺序,仅颠倒不可排序
  • a.sort():将元素按照从小到大的顺序重新排列,只能排列字符串类型的元素;
  • var a=a1.contact(值1,a2,值2):拼接两个或更多的数组,并返回结果,将数组a1,值1,数组a2,值3拼接为新的数组
  • var a=a1.slice(start,end+1):返回现有数组的一个子数组;选取arr中start位置开始,到end结束所有,元素组成新数组返回——原数组保持不变
  • splice()——修改数组,包括删除和插入
<script type="text/javascript">
    var a=[21,13,45,99];
    var b=[34,56,11];
    console.log(a.splice(1,2));//删除从数组下标为1开始的两个值
    console.log(b.splice(1,0,[33,55]));//从数组下标为1插入数组       
</script>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值