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.运算符中%取模(求余)的简单实例:

  隔行变色:

 var aLi=document.getElementsByTagName('li');

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

  秒转时间: 

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

6.程序流程控制:

  判断:if、switch、?:

 if(条件1)
{
//语句1
}
else if(条件2)
{
//语句2
}
else
{
//语句n
}
 switch(变量)
{
case 值1:
//语句1
break;
case 值2:
//语句2
break;
......
default:
//语句n
}
  条件?语句1:语句2  //三元运算符

  循环:while、for

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

  跳出:break、continue

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

  真假:

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

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

7.json:

  json与arr的区别:

 var json={a: 12, b: 5, c: 7};
var arr=[12, 5, 7]; alert(json['a']);  //下标不同
alert(arr[0]); alert(json.length); //undefined
alert(arr.length); //arr循环两种方法皆可
for(var i=0;i<arr.length;i++){
alert('第'+i+'个东西:'+arr[i]);
} for(var i in arr){
alert('第'+i+'个东西:'+arr[i]);
} //json的循环
for(var i in json){
alert('第'+i+'个东西:'+json[i]);
}

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

  

1.js基础(以通俗易懂的语言解释JavaScript)的更多相关文章

  1. 2.js深入(以通俗易懂的语言解释JavaScript)

    1.函数返回值: 即函数的执行结果 可以没有return 经验:一个函数应该只返回一种类型的值 2.函数传参 可变参(不定参):arguments ——>(参数的个数可变,参数数组) 例子1:求 ...

  2. 3.定时器的使用(以通俗易懂的语言解释JavaScript)

    1.定时器的作用: 开启定时器:setInterval -->间隔型 setTimeout -->延时型 区别:setInterval会一直执行,应用如微博间隔一段时间不断请求后台数据,看 ...

  3. 通俗易懂的语言描述JavaScript原型

    这是一个翻译.原文地址http://javascriptissexy.com/javascript-prototype-in-plain-detailed-language/# 原型(prototyp ...

  4. 【 js 基础 】【读书笔记】Javascript “继承”

    是时候写一写 “继承”了,为什么加引号,因为当你阅读完这篇文章,你会知道,说是 继承 其实是不准确的. 一.类1.传统的面向类的语言中的类:类/继承 描述了一种代码的组织结构形式.举个例子:“汽车”可 ...

  5. Web3D编程入门总结——WebGL与Three.js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

  6. 前端-js基础

    HTML三把利剑之一,浏览器具有解析js的能力 一.js基础 在HTML中可以将JavaScript/JS的代码写在head中,被script标签所包裹,当浏览器解释HTML时,遇到style标签时, ...

  7. 二、JavaScript语言--JS基础--JavaScript入门篇

    1.如何插入JS 使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScript代码写在<scri ...

  8. js基础(一)

    javascript基本介绍(一) (后面我会持续写关于关于js的知识,里面写了很多js的小细节大家可以看下希望对大家有帮助,同时希望大家如果感觉有帮助的话可以帮忙顶一下,谢谢了) Javascrip ...

  9. 前端面试题目汇总摘录(JS 基础篇)

    JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...

随机推荐

  1. U3D Input类之键位输入GetKey

    Input类中包含许多属性和方法,下面介绍一下和键盘输入有关的内容 一.有关接收键盘信息的属性 属性名 类型 属性类型 含义 anyKey bool get 当前是否按住任意键或鼠标按钮 anyKey ...

  2. C编程基础

    1. Hello World! 依照惯例首先Hello World镇楼: 1 #include<stdio.h> 2 3 int main(void) { 4 printf("H ...

  3. list泛型转换成datatable

    public DataTable ListToDataTable<T>(List<T> list) { DataTable dt = new DataTable("C ...

  4. SQL SERVER TRANSACTION 事物

    1.事务的概念 事物是一种机制,是一种操作序列,它包含了数据库一组操作命令,这组命令要么全部执行,要么都不执行.因此事物是一组不可分割的事物逻辑单元,在数据库进行并发操作时候,事物是作为最小的控制单元 ...

  5. (第一篇) 一步一步带你了解linq to Object

    要想学好linq to object 我们必须要先学习lambda 表达式,学习lambda 表达式呢我们必须了解匿名函数和匿名类及扩展方法,学习匿名函数,我们必须学会委托,这是本文的宗旨.下面开始第 ...

  6. linux下安装oracle及weblogic

    安装weblogic 下载weblogic http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-17 ...

  7. django使用小贴士

    问题一: RuntimeError: Model class user.models.UserAccount doesn't declare an explicit app_label 解决方案 方案 ...

  8. Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF

    Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF Entity FrameWork的特点 1.支持多种数据库(MSSQL.Oracle.M ...

  9. python的深浅拷贝以及fromkeys的用法

    1.join()的用法:使用前面的字符串.对后面的列表进行拼接,拼接结果是一个字符串 # lst = ["alex","dsb",'wusir','xsb'] ...

  10. 【读书笔记】iOS-定位服务与地图应用开发

    一,定位服务. iOS设备能提供3种不同的定位途径: 1,WiFi定位,通过查询一个WiFi路由器的地理位置的信息,比较省电:iPhone,Ipod touch 和iPad都可以. 2,蜂窝式移动电话 ...