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 ...
随机推荐
- 看 Netty 在 Dubbo 中如何应用
目录: dubbo 的 Consumer 消费者如何使用 Netty dubbo 的 Provider 提供者如何使用 Netty 总结 前言 众所周知,国内知名框架 Dubbo 底层使用的是 Net ...
- 在ASP.NET MVC中使用Grid.mvc
很久没有写ASP.NET的博文了,专心工作嘛,今天写一点MVC的博文,也是自己练习来的,是使用grid.mvc来显示数据. 首先打开Manage Nuget Packages,搜索grid.mvc并安 ...
- 表格列mouse经过时高亮显示
前几天Insus.NET有练习<表格行mouse经过时高亮显示>http://www.cnblogs.com/insus/p/3715733.html ,今天有奇想,是否可以实现mouse ...
- AutoMapper之自定义解析
自定义解析 4.自定义解析 AutoMapper可以通过名称匹配等规则进行对象的映射,但是在实际的项目中,只是这样是远远不够的,比说我们需要名称不同的字段进行映射,或者需要再加一些逻辑处理.AutoM ...
- Java基础——字符编码
一.ASII 美国(国家)信息交换标准(代)码. 计算机中只有数字,一切都是用数字表示,屏幕上显示的一个一个的字符也不例外. 一个字节可表示的数字为0-255,足以显示键盘上的所有的字符 例如. a ...
- mysql匿名登录 导致创建不了数据库
常见问题 Access denied for user ''@'localhost' to database 'web02' //web02是我自己创建的数据库 原因分析:mysql数据库的user表 ...
- Oracle总结之plsql编程(基础八)
原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10328524.html 一.函数 1.函数是可以返回一个特定的数据,函数的创建中必须包含re ...
- Spring boot实现自定义拦截器
Sprintboot的拦截器提供了精细的控制:在request被响应之前.request被响应之后.request全部结束之后至视图渲染之前 三个时间点,我们都可以通过编写他们的函数来控制. 首先新建 ...
- Oracle Index 索引无效原因
索引无效原因 最近遇到一个SQL语句的性能问题,修改功能之前的运行时间平均为0.3s,可是添加新功能后,时间达到了4~5s.虽然几张表的数据量都比较大(都在百万级以上),但是也都有正确创建索引,不知道 ...
- Codeforces841A
A. Generous Kefa time limit per test:2 seconds memory limit per test:256 megabytes input:standard in ...