js学习1
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])
}
js学习1的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- js学习之变量、作用域和内存问题
js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...
- 【Knockout.js 学习体验之旅】(3)模板绑定
本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(2)花式捆绑
本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- js学习篇1--数组
javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- NODE.JS学习的常见误区及四大名著
NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
随机推荐
- 11- IO模型-未完成
1.同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么 ...
- cap原则(cap定理)与base理论
CAP定理c:一致性 Consistency: 分布式系统中,所有数据备份,同一时刻存在一样的值.当在分布式环境中,当一个地方写入返回成功的结果,其他地方也应读取到最新的数据.a:可用性 Availa ...
- 常见面试算法题JS实现-仅用递归函数和栈操作逆序一个栈
前言: 因为JAVA和JS语言特性的不同,有些东西在JAVA中可能需要一些技巧和手段才能实现的复杂程序,但是在JS中可能就是天然存在的,所以这套书里面的题目不会全部用JS去实现一遍,因为可能JS的实现 ...
- selenium+java多层级frame切换的问题
关于selenium多层iframe切换,及iframe没有id和name属性的情况下进行切换的问题.(如下图:) 问题: 1. 在切入到frame:left中后,直接切换其他同级和上级frame报错 ...
- Bitcoin区块链攻击方式
目录 重放攻击-- 非人为攻击 其他攻击 重放攻击-- 非人为攻击 重放攻击 Replay Attach 攻击者重复发送相同的数据库包到目的主机,用以欺骗系统 用支付宝付款信息重复项商家索取商品 比特 ...
- 《SLAM十四讲》个人学习知识点梳理
0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http:/ ...
- 利用Smith圆图设计匹配网络
要实现射频最大的功率传输,必须使负载阻抗与源阻抗相匹配(即信号源阻抗与负载阻抗共轭相等),实现匹配的通常做法是在源和负载之间插入一个匹配网络,该网络不仅仅为减少功率损耗而设计,还可减少噪声干扰.提高功 ...
- Flash导出安卓端apk
最近外甥女在学校做了一个演示视频,基于flash做的,希望小舅给她导出成可以运行在pc/android端的可执行程序.看了下过程还是蛮复杂的,还只能一天时间.重新照葫芦画瓢做一款是来不及了,由于以前基 ...
- vue 组件-父组件传值给子组件
父组件通过属性,传值给子组件,子组件通过,props数组里的名称来接受父组件传过来的值. HTML部分: <div id="app"> <tmp1 :parent ...
- CHAPTER 19 Ordering the World 第19章 分类世界
CHAPTER 19 Ordering the World 第19章 分类世界 Our planet is home to a bewildering variety of plants and an ...