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 ...
随机推荐
- springboot自定义静态文件目录,解决jar打包后修改页面等静态文件的问题
1.问题 springboot开发时候,一般将文件放在resources目录,但是发布后想修订文件或是开发时候修改了文件内容一般需重新打包或者重启动才能达到效果: 2.原因 将资源文件打包入jar包, ...
- [C#]使用RabbitMQ模拟抽奖系统的例子
背景:在实际的项目中,经常有客户需要做抽奖的活动,大部分的都是注册送产品.送红包这些需求.这都是有直接的利益效果,所以经常会遇见系统被盗刷的情况,每一次遇见这种项目的上线都是绷紧神经,客户又都喜欢在过 ...
- JS实现金额转换(将输入的阿拉伯数字)转换成中文
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS DOM操作(五) Window.docunment对象——操作元素
定位: var a = document.getElementByIt( "id" ) 同辈元素 var b = a.nextSibling; -- 找 a ...
- [android] 新闻客户端实现左侧导航点击切换
设置主布局文件,为根布局设置一个id,作为内容区 给ListView的条目设置点击事件,setOnItemClickListener()方法,参数:上下文 当前的Fragment实现OnItemCli ...
- SSM整合的pom.xml依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)
一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. ...
- 常见Java问题
1.泛型的好处 保护了类型安全 避免了强制类型转化 2.final关键字的作用 final修饰的属性是常量 final修饰的方法不可被重写 final修饰的类不能被继承,如:String 3.静态变量 ...
- js-ES6学习笔记-let命令
1.let命令 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. for循环的计数器,就很合适使用let命令. 下面的代码如果使用var ...
- 在vue项目中,通过v-for循环,动态添加后台返回的事件
一.现有一种业务需求,前端的某个元素添加点击事件,但事件是后台返回的(不确定),需要动态添加,下面是具体思路: .假定后台返回数据为如下格式: list: [ { name: '李寻欢', kungF ...