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++){
  4. //i 0 1 2 3 4 5 6....
  5. if(i%2==0){
  6. //0 2 4 6 8 10
  7. aLi[i].style.background='#CCC';
  8. }
  9. else{
  10. //1 3 5 7 9
  11. aLi[i].style.background='';
  12. }
  13. }

  秒转时间: 

  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. for(var i in arr){
  16. alert('第'+i+'个东西:'+arr[i]);
  17. }
  18.  
  19. //json的循环
  20. for(var i in json){
  21. alert('第'+i+'个东西:'+json[i]);
  22. }

(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. 看 Netty 在 Dubbo 中如何应用

    目录: dubbo 的 Consumer 消费者如何使用 Netty dubbo 的 Provider 提供者如何使用 Netty 总结 前言 众所周知,国内知名框架 Dubbo 底层使用的是 Net ...

  2. 在ASP.NET MVC中使用Grid.mvc

    很久没有写ASP.NET的博文了,专心工作嘛,今天写一点MVC的博文,也是自己练习来的,是使用grid.mvc来显示数据. 首先打开Manage Nuget Packages,搜索grid.mvc并安 ...

  3. 表格列mouse经过时高亮显示

    前几天Insus.NET有练习<表格行mouse经过时高亮显示>http://www.cnblogs.com/insus/p/3715733.html ,今天有奇想,是否可以实现mouse ...

  4. AutoMapper之自定义解析

    自定义解析 4.自定义解析 AutoMapper可以通过名称匹配等规则进行对象的映射,但是在实际的项目中,只是这样是远远不够的,比说我们需要名称不同的字段进行映射,或者需要再加一些逻辑处理.AutoM ...

  5. Java基础——字符编码

    一.ASII 美国(国家)信息交换标准(代)码. 计算机中只有数字,一切都是用数字表示,屏幕上显示的一个一个的字符也不例外. 一个字节可表示的数字为0-255,足以显示键盘上的所有的字符 例如. a ...

  6. mysql匿名登录 导致创建不了数据库

    常见问题 Access denied for user ''@'localhost' to database 'web02' //web02是我自己创建的数据库 原因分析:mysql数据库的user表 ...

  7. Oracle总结之plsql编程(基础八)

    原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10328524.html 一.函数 1.函数是可以返回一个特定的数据,函数的创建中必须包含re ...

  8. Spring boot实现自定义拦截器

    Sprintboot的拦截器提供了精细的控制:在request被响应之前.request被响应之后.request全部结束之后至视图渲染之前 三个时间点,我们都可以通过编写他们的函数来控制. 首先新建 ...

  9. Oracle Index 索引无效原因

    索引无效原因 最近遇到一个SQL语句的性能问题,修改功能之前的运行时间平均为0.3s,可是添加新功能后,时间达到了4~5s.虽然几张表的数据量都比较大(都在百万级以上),但是也都有正确创建索引,不知道 ...

  10. Codeforces841A

    A. Generous Kefa time limit per test:2 seconds memory limit per test:256 megabytes input:standard in ...