js基础1:

js组成:
ECMAScript :解释器 、翻译 提供语言的基本功能
几乎没有兼容型问题
dom :document object model 有一些兼容型问题
bom :brower object model 几乎不兼容

变量类型:
number 、string 、boolean、undefined、object,function
查看变量类型 typeof()

var a;
都是undefined的两种情况:
1、不定义或者
2、a不赋值

变量类型由里面所存的值来决定的

符合类型:对象 不是一个基本的单元
基本类型:23,‘33’ true

数组是对象

var a = "333";
js数字类型转换为字符串 ''+a

input输入的默认都是字符串,所以两者要求和,要转换

数据类型转换:

字符串转换为数字:
parseInt();
parseInt('23sd') = 23
parseInt('sdf3') = NaN 不是一个数字

parseFloat()转换为小数

数字+NaN = NaN

如何检测NaN
不能用 == NaN来比较
isNaN(a)

隐式类型转换:
= == ===
== 先把两边转换为一样的类型再转换

‘12’ == 12 true
'12' === 1 false

var a = '12'
var b='5'
alert(a-b) = 7
- * /号会自动将其转换为数字
+ 1:可以做字符串连接
2:数字相加

变量作用域:
局部变量:某一个函数内定义的变量
全局变量:不定义再任何一个函数里面,可以在任何地方使用

全局变量是魔鬼,尽可能不要去使用

闭包:
相当于外函数和内函数
外函数定义的变量,子函数可以使用
你麻痹的,我还以为是什么厉害的东西

命名规范和必要性:
可读性---能看懂
规范性---符合规则
匈牙利命名法:
类型前缀 :fn o s b i re a v
函数 对象 字符串 布尔 整形 正则 数组 变体变量

首字母大写

运算符:
+ - * / %取模,求余

隔行变色
<script>
window.onload = function(){
var oUl1 = document.getElementById('ul1');
var oLi = oUl1.getElementsByTagName('li');
for(var i=0;i<oLi.length;i++)
{
if(i%2 == 0)
{
oLi[i].style.backgroundColor = "#ccc";
}
}
}
</script>
parseInt()也可以用来取整

赋值:= += /= *= %=
关系 > = >= <= == === !==
逻辑 && || !
运算符的优先级 :()

if switch ?:
a = a>b?a:b;
switch(a)
{
case '1':
{

}
break;
default:
break;

}

while for
break continue

真,true ,非零字符 非空对象
假;false 数字零 空字符串,空对象 浮点数0.0 undefined

json:
{name:'wang',age:'34'}
javascript object notation

for in 遍历json对象

var obj ={a:4,b:3,c:3}
for(attr in obj)
{
alert(obj[attr])
}

最新文章

  1. cf727e
  2. php示例代码之 使用PHP的MySQL标准函数
  3. .NET指定程序集的位置
  4. json、javaBean、xml互转的几种工具介绍 (转载)
  5. MATLAB GUI程序设计中使文本框接收多行输入的方法
  6. 【Python】类和对象、继承、使用文件、存储、异常、标准库(不懂)
  7. 自定义Template,向其中添加新的panel
  8. MySql服务器的启动和关闭
  9. Toad for Oracle 授权权限
  10. Speed-BI报表按钮链接设置
  11. [Angular 2] Interpolation: check object exists
  12. 与导航栏下控件的frame相关的edgesForExtendedLayout、translucent、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets等几个属性的详解
  13. 团队作业4——第一次项目冲刺(Alpha版本) 4.24
  14. shell中的数字
  15. html 之 浮动(待补充)
  16. Huawei E1750 Asterisk
  17. Javascript获取当月的天数
  18. 20145207李祉昂《网络对抗技术》可选实验 shellcode注入与Return-to-libc攻击实验
  19. 【POJ1741】Tree(点分治)
  20. [洛谷P1552][APIO2012]派遣

热门文章

  1. Codeforces 374 C. Travelling Salesman and Special Numbers (dfs、记忆化搜索)
  2. Java虚拟机笔记(三):垃圾收集算法
  3. restful framework之频率组件
  4. TensorFlow API 汉化
  5. MVC Redirect 页面跳转不了
  6. Java+Netty实现的RESTful框架--netty-rest-server
  7. 使用proxyee-down解决百度云下载限速问题
  8. 监控与管理-SpringBoot
  9. golang应用打包成docker镜像
  10. GIT问题(一)——push冲突