JS基础

JavaScript组成


-ECMAScript:解释器、翻译(核心)

-DOM:Document ObjectModel(文档对象模型,赋予操作HTML的能力)

-BOM:Browser ObjectModel(浏览器对象模型,赋予操作window浏览器的能力)

-各组成部分的兼容性,兼容性问题由来

       -ECMA   几乎没有兼容性问题

       -DOM    有一些操作不兼容

       -BOM    没有兼容问题(完全不兼容)

 

变量类型


-类型:typeof运算符

       -用法、返回值

       -常见类型:

              -number、string、boolean、undefined(没定义/定义没给东西)、object、function

-一个变量应该只存放一种类型的数据

-数据类型转换

       -例子:计算两个文本框的和

       -显示类型转换(强制类型转换)

              -parseInt()(12px34-->12)、parseFloat()

              -NaN的意义和检测(Not a Number,NaN和NaN不相等,isNaN())

       -隐式类型转换

              -==(先转换类型再比较)、===(不转换类型直接比较)

              -减法(数字相减)(加法:字符串连接/数字相加)

 

变量作用域和闭包


-变量作用域(作用范围)

       -局部变量(只能在定义它的函数中使用)、全局变量(任何地方都能用)

-什么是闭包

       -子函数可以使用父函数中的局部变量

       -之前一直在使用闭包

       -网上对闭包的定义

 

命名规范


-命名规范及必要性

       -可读性—能看懂

       -规范性—符合规则

-匈牙利命名法

       -类型前缀a-数组 o-对象 fn-函数i-整数 s-字符串 re-正则

       -单词首字母大写

 

运算符


-算术:+ - * / % 实例:隔行变色、秒转时间

-赋值:= += -= *= /= %=

-关系:< > <=>= == === != !==

-逻辑:&& || !实例:全选和反选

-运算符优先级:括号

 

程序流程控制


-判断:if、switch、?

-循环:while、for

-跳出:break跳出整个循环、continue跳过本次循环

-什么是真、什么是假:

       -真:true、非零数字、非空字符串、非空对象

       -假:false、数字零、空字符串、空对象、undefined

 

Json(JavaScript Object Notation)


-什么是Json

       -varjson={a:5,b:‘abc’};alert(json.a);

-Json和数组

       -下标字符串/数字

       -json没有length

-Json和for in

       -for(vari in json){alert(‘第’+i+‘个东西’+json[i]);}


函数返回值


-什么是函数返回值

       -函数的执行结果

       -可以没有return

-一个函数应该只返回一种类型的值

 

函数传参


-可变参(不定参):arguments

       -参数的个数可变,参数数组

-例子1:求和

       -求所有参数的和

-例子2:CSS函数

       -判断arguments.length

       -给参数取名,增强可读性

-获取非行间样式(不能用来设置)

-obj.currentStyle[attr]                                                                                                                                       

       -getComputedStyle(obj,false)[attr]

       -复合样式:background、border

       -单一样式:width、height、position以上只能取单一样式

 

数组基础


-数组的使用

       -定义

              -vararr=[12,5,8,9]

              -vararr=new Array(12,5,8,9)

              -没有任何差别,[]的性能略高,代码短

-数组的属性

       -length

              -既可以获取,又可以设置

              -例子:快速清空数组(arr.length=0;)

-数组使用原则

       -数组中应该只存一种类型的变量

-数组的方法

       -添加

              -push(元素),从尾部添加

              -unshift(元素),从头部添加

       -删除

              -pop(),从尾部删除

              -shift(),从头部删除

 

排序转换


-排序

       -sort([比较函数]),排序一个数组(只认识字符串)

              -排序一个字符串数组

              -排序一个数字数组

              -arr.sort(function(n1,n2){

                     return n1-n2;

})

-转换类

       -concat(数组2)

              -连接两个数组

       -join(分隔符)

              -用分隔符,组合数组元素,生成字符串

              -字符串split

 

插入删除


-splice

       -splice(开始,长度,元素、、、)

       -先删除,后插入

-删除

       -splice(开始,长度)

-插入

       -splice(开始,0,元素、、、)

-替换





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值