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. GCD之Group

    1.问题的提出 在上面的GCD之全局.主线程中介绍了dispatch_get_global_queue.dispatch_get_main_queue的用法,可以看到最后执行的时间在10s 左右,在上 ...

  2. Quartz2D截屏

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  3. 低级问题: jquery-ajax-alert(data) <!DOCTYPE html PUBLIC "-

    后台:Response.Write("登录成功"); 前台:Jquery-Ajax--alert(data)弹出: 登录成功 <!DOCTYPE html PUBLIC &q ...

  4. 最小公倍数(BNUOJ30195)

    最小公倍数 Time Limit: 0 ms Case Time Limit: 0 ms Memory Limit: 0 KBSubmit: 17 Accepted: 1 This problem w ...

  5. servlet 中处理 json 请求,并访问 service 类,返回处理结果

    前言:jar 包中的 servlet 必须可以处理前端发出的 ajax 请求,接收参数,并返回结果. github地址:yuleGH github 这里有个约定,url 地址是 .json 结尾的,如 ...

  6. JavaScript数组&类数组转换

    一.数组 在JavaScript中数组可以容纳任何类型的值,可以是数字.字符串.对象.甚至其他数组(多为数组) var a = [1,'2',[3]]; a.length;//3 a[0];//1 a ...

  7. 通过ssh实现远程登陆服务器!

    通过ssh实现远程登陆前提是服务器已经开启ssh服务,至于怎么开启,可以参看上一篇“Linux服务器开启ssh服务,实现ssh远程登陆!”! 使用ssh登陆时,输入主机(linux的ip地址),账号, ...

  8. 【读书笔记】iOS-网络-同步请求,队列式异步请求,异步请求的区别

    一,同步请求的最佳实践. 1,只在后台过程中使用同步请求,除非确定访问的是本地文件资源,否则请不要在主线程上使用. 2,只有在知道返回的数据不会超出应用的内存时才使用同步请求.记住,整个响应体都会位于 ...

  9. Django使用多个数据库

    一.定义数据库 使用Django的多个数据库的第一步是告诉Django将使用的数据库服务器. 这是使用DATABASES设置完成的. 此设置将数据库别名映射到该特定连接的设置字典,该数据库别名是一种在 ...

  10. jq塞入不同状态html的写法 switch (defaults.type)

    (function($) { //生成一个block function createBlock(options) { var defaults = { type: "1", } v ...