1.js基础(以通俗易懂的语言解释JavaScript)

1.JavaScript组成:

  ECMAScript: 解释器、翻译  -->几乎没有兼容问题

  DOM: Document Object Model  -->有一些操作不兼容

  BOM: Browser Object Model  -->没有兼容问题(完全不兼容)

2.常见变量类型(typeof):

  (基础面试题常考)

  值类型:number、string、boolean、undefined

  引用类型: object、function

  经验:一个变量应该只存放一种类型的数据

  显式类型转换(强制类型转换):parseInt()、parseFloat()

  隐式类型转换:==(先转换类型,然后比较)

         ===(不转换类型直接比)   

         减法

3.变量作用域和闭包:

  变量作用域:(即作用范围,-js里没有块级作用域,-只有函数和全局作用域)

    -局部变量:只能在定义它的函数里面使用

    -全局变量:在任何地方都能用

  闭包:子函数可以使用父函数中的局部变量

4.命名规范:

  可读性——能看懂

  规范性——符合规则

  匈牙利命名法:类型前缀(变量取名时用,函数不需要)、首字母大写

类型

前缀

类型

实例

数组

a

Array

aItems

布尔值

b

Boolean

bIsComplete

浮点数

f

Float

fPrice

函数

fn

Function

fnHandler

整数

i

Integer

iItemCount

对象

o

Object

oDiv1

正则表达式

re

RegExp

reEmailCheck

字符串

s

String

sUserName

变体变量

v

Variant

vAnything

5.运算符中%取模(求余)的简单实例:

  隔行变色:

 1 var aLi=document.getElementsByTagName('li');
 2     
 3     for(var i=0;i<aLi.length;i++){
 5         //i 0 1 2 3 4 5 6....
 6         if(i%2==0){
 8             //0 2 4 6 8 10
 9             aLi[i].style.background='#CCC';
10         }
11         else{
13             //1 3 5 7 9
14             aLi[i].style.background='';
15         }
16     }

   秒转时间: 

1 var s=1345;
2 alert(parseInt(s/60)+'分'+s%60+'秒');

 6.程序流程控制:

  判断:if、switch、?:

 1 if(条件1)
 2 {
 3     //语句1
 4 }
 5 else if(条件2)
 6 {
 7     //语句2
 8 }
 9 else
10 {
11     //语句n
12 }
 1 switch(变量)
 2 {
 3     case 值1:
 4         //语句1
 5         break;
 6     case 值2:
 7         //语句2
 8         break;
 9     ......
10     default:
11         //语句n
12 }
1  条件?语句1:语句2  //三元运算符

  循环:while、for

1 while(条件) {
2     //语句
3 }
1 for(初始化;条件;自增){
2     //语句
3 }

  跳出:break、continue

1 for(var i=0;i<5;i++){
2     if(i==2){
3         //break;    //整个循环中断了
4         continue;    //本次循环中断了
5     }
6     alert(i);
7 }

   真假:

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

    假:false、数字零、空字符串、空对象(null)、undefined

7.json:

  json与arr的区别:

 1 var json={a: 12, b: 5, c: 7};
 2 var arr=[12, 5, 7];
 3 
 4 alert(json['a']);  //下标不同
 5 alert(arr[0]);
 6 
 7 alert(json.length);     //undefined   
 8 alert(arr.length);
 9 
10 //arr循环两种方法皆可
11 for(var i=0;i<arr.length;i++){
12     alert('第'+i+'个东西:'+arr[i]);
13 }
14 
15 
16 for(var i in arr){
17     alert('第'+i+'个东西:'+arr[i]);
18 }
19 
20 //json的循环
21 for(var i in json){
22     alert('第'+i+'个东西:'+json[i]);
23 }

(ps:本内容整理于blue视频教程及个人学习过程中总结,持续更新中)

  

原文地址:https://www.cnblogs.com/spynode/p/9846446.html