1.js基础(以通俗易懂的语言解释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)的更多相关文章
- 2.js深入(以通俗易懂的语言解释JavaScript)
1.函数返回值: 即函数的执行结果 可以没有return 经验:一个函数应该只返回一种类型的值 2.函数传参 可变参(不定参):arguments ——>(参数的个数可变,参数数组) 例子1:求 ...
- 3.定时器的使用(以通俗易懂的语言解释JavaScript)
1.定时器的作用: 开启定时器:setInterval -->间隔型 setTimeout -->延时型 区别:setInterval会一直执行,应用如微博间隔一段时间不断请求后台数据,看 ...
- 通俗易懂的语言描述JavaScript原型
这是一个翻译.原文地址http://javascriptissexy.com/javascript-prototype-in-plain-detailed-language/# 原型(prototyp ...
- 【 js 基础 】【读书笔记】Javascript “继承”
是时候写一写 “继承”了,为什么加引号,因为当你阅读完这篇文章,你会知道,说是 继承 其实是不准确的. 一.类1.传统的面向类的语言中的类:类/继承 描述了一种代码的组织结构形式.举个例子:“汽车”可 ...
- Web3D编程入门总结——WebGL与Three.js基础介绍
/*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...
- 前端-js基础
HTML三把利剑之一,浏览器具有解析js的能力 一.js基础 在HTML中可以将JavaScript/JS的代码写在head中,被script标签所包裹,当浏览器解释HTML时,遇到style标签时, ...
- 二、JavaScript语言--JS基础--JavaScript入门篇
1.如何插入JS 使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScript代码写在<scri ...
- js基础(一)
javascript基本介绍(一) (后面我会持续写关于关于js的知识,里面写了很多js的小细节大家可以看下希望对大家有帮助,同时希望大家如果感觉有帮助的话可以帮忙顶一下,谢谢了) Javascrip ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
随机推荐
- JOffice中的权限管理--功能粒度的权限管理配置
JOffice中的权限管理是基于角色的管理策略,采用Spring Security2的配置方式,同时能够结合EXT3来进行整个系统的权限管理,通过使用配置文件,进行整个系统的功能集中管理,包括系统左边 ...
- Java集合类源码解析:HashMap (基于JDK1.8)
目录 前言 HashMap的数据结构 深入源码 两个参数 成员变量 四个构造方法 插入数据的方法:put() 哈希函数:hash() 动态扩容:resize() 节点树化.红黑树的拆分 节点树化 红黑 ...
- find the most comfortable road(hdu1598)不错的并查集
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- Textview源码+绘制过程解析
Android控件TextView的实现原理分析 为什么要规定所有与UI相关的操作都必须在主线程中执行呢?我们知道,这些与UI相关的操作都涉及到大量的控件内部状态以及需要访问窗口的绘图表面,也就是说, ...
- jquery插件-fullpage.js
1⃣️ 简介 fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站,主要功能有: 支持鼠标滚动 支持前进后退和键盘控制 多个回调函数 支持手机.平板触摸事件 ...
- 分享一个 jsPDF的简单使用以及中文编码问题的解决
后台一个下载文件中内容国际化问题的坑甩到了前端 前端自己匹配,自己处理国际化,生成文件下载 jsPDF-AutoTable 挺靠谱 中文乱码, 还是好人多啊 解决方式如下文章 jsPDF的简单使 ...
- Linux 多个vi、vim进程编辑同一文件时的临时文件问题
多个vi.vim进程编辑同一文件时的临时文件问题 by:授客 QQ:1033553122 使用vi.vim编辑文件,实际是先copy一份临时文件并映射到内存里进行编辑,所以你编辑的是临时文件,不是 ...
- UWP开发细节记录:判断文件类型
StorageFile.ContentType 属性,是 string 类型,用来表示文件内容的 MIME 类型.例如,音乐文件可能有 "audio/mpeg" MIME 类型.( ...
- Permission denied (publickey),Gitlab & Github 多ssh key 冲突 导致的权限问题
Github 多ssh key导致的权限问题 :Permission denied (publickey) 公司用gitlib搭建了git服务器,自己已有github账号,用ssh-keygen分别生 ...
- 一致性Hash(Consistent Hashing)原理剖析
引入 在业务开发中,我们常把数据持久化到数据库中.如果需要读取这些数据,除了直接从数据库中读取外,为了减轻数据库的访问压力以及提高访问速度,我们更多地引入缓存来对数据进行存取.读取数据的过程一般为: ...