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的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. js学习之变量、作用域和内存问题

    js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...

  3. 【Knockout.js 学习体验之旅】(3)模板绑定

    本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...

  4. 【Knockout.js 学习体验之旅】(2)花式捆绑

    本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...

  5. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  6. js学习篇1--数组

    javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...

  7. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  8. NODE.JS学习的常见误区及四大名著

    NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...

  9. Node.js学习系列总索引

    Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...

  10. 【入门必备】最佳的 Node.js 学习教程和资料书籍

    Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...

随机推荐

  1. 【SQLSERVER】处理一对多标签的语法糖

    数据库表设计的时候,经常会出现一对多的情况,比如标签.明细之类的. 有时,需要在一个查询中,将每个主体的所有标签在一个字段中展示出来,这个时候就可以用 FOR XML PATH 这个语法轻易的实现. ...

  2. c++ 有序二叉树的应用

    实作:以有序二叉树记录学生签到时间及名字,然后以名字升序输出学生签到信息 stricmp,strcmpi 原型:extern int stricmp(char *s1,char * s2); 用法:# ...

  3. Velocity学习2

    Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Veloci ...

  4. Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

    一.Jenkins的远程管理 Jenkins的远程管理方式包含: Shell ssh SSH Plugin ansible.saltstack (1)Shell ssh在项目构建时,jenkins使用 ...

  5. eclipse项目转移至IDEA与IDEA tomcat报错(idea自带tomcat版本太高)与war包部署到win服务器与idea提交git的总结

    eclipse导出项目到idea时,不要导出target: idea打开eclipse项目后,出现junit找不到的问题,原因是jar包缺失,而maven配置的低版本的junit也显示找不到,解决办法 ...

  6. 手把手带你打造一个 Android 热修复框架(上篇)

    本文来自网易云社区 作者:王晨彦 前言 热修复和插件化是目前 Android 领域很火热的两门技术,也是 Android 开发工程师必备的技能. 目前比较流行的热修复方案有微信的 Tinker,手淘的 ...

  7. 菜鸟vimer成长记——第2.1章、normal模式

    目的 掌握normal模式下常用操作的语法和概念,这些操作对应的应用场景以及实用技巧. 通过normal模式举一反三掌握cmd-line和visual的常用文本操作. 简介 文本操作的理想状态为:一个 ...

  8. allure2 report+ jenkins 使用

    物色了一个挺漂亮的报告生成插件 ——allure. 下面介绍一下这个报告的使用. 1. 添加依赖 <dependencies> <!-- https://mvnrepository. ...

  9. TPO-21 C2 Which elective courses to take

    /* 加粗:语音部分 * 红色:单词部分 * 斜体:语法部分 * 下划线:信号词/句 */ 第 1 段 1.Listen to a conversation between a student and ...

  10. springboot 前后端分离开发 从零到整(四、更改密码操作)

    前端发送更改密码请求,头部携带token,服务端拦截器拦截头部token并解析,根据token中的信息来查询用户信息.需要登录才能进行的操作是由自己定的,有些操作可以直接放行.具体实现是: 上一章写到 ...