1.网页换肤:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<link id="l1" rel="stylesheet" type="text/css" href="css1.css" />
<script>
function skin1()
{
var oL=document.getElementById('l1'); oL.href='css1.css';
} function skin2()
{
var oL=document.getElementById('l1'); oL.href='css2.css';
}
</script>
</head> <body>
<input type="button" value="皮肤1" onclick="skin1()" />
<input type="button" value="皮肤2" onclick="skin2()" />
</body>
</html>

css1.css

@charset "utf-8";
/* CSS Document */ body {background:black;}
input {width:200px; height:100px; background:yellow;}

css2.css

@charset "utf-8";
/* CSS Document */ body {background:#CCC;}
input {width:100px; height:50px; background:red;}

2.

任何标签都可以加ID,包括link

任何标签的任何属性,也都可以修改
HTML里怎么写,JS里就怎么写
但是有一个例外,html的class,js里面要写className,因为class在js里面是一个关键字;
除了class外,html里面和js里面属性都是统一。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {width:100px; height:100px; border:1px solid black;}
.box {background:red;}
</style>
<script>
function toRed()
{
var oDiv=document.getElementById('div1'); oDiv.className='box';
}
</script>
</head> <body>
<input type="button" value="变红" onclick="toRed()" />
<div id="div1">
</div>
</body>
</html>

3.

操作属性的方法:
第一种方法:使用xx.xx
oTxt.value = 'abc';
第二种方法:使用[]
oTxt['value'] = '123';
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
function setText(name)
{
var oTxt=document['getElementById']('txt1'); //第一种操作属性的方法
//oTxt.value='dsfasdfasdf'; //第二种操作属性的方法
oTxt[name]='dsfasdfasdf';
}
</script>
</head> <body>
<input id="txt1" type="text" />
<input type="button" value="改变文字" onclick="setText('title')" />
</body>
</html>

4.变量类型

1) typeof运算符
js里面常见的6种类型:
number、string、boolean、undefined、object、function
一个变量应该只存放一种类型的数据
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
var a=12;
//alert(typeof a); //number a='asdfasd';
//alert(typeof a); //string a=true;
//alert(typeof a); //boolean a=function ()
{
alert('abca');
};
//alert(typeof a); //function a=document;
//alert(typeof a); //object var b;
alert(typeof b); //undefined //1.真的没定义
//2.虽然定义,没有给东西
</script>
</head> <body>
</body>
</html>

2)数据类型转换:

  • 显式类型转换(强制类型转换)
NaN Not a Number 非数字
var a = parseInt('abc');
alert(a) ; //NaN
alert(isNaN(a)) ; //true
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload=function ()
{
var oTxt1=document.getElementById('txt1');
var oTxt2=document.getElementById('txt2');
var oBtn=document.getElementById('btn1'); oBtn.onclick=function ()
{
var n1=parseInt(oTxt1.value);
var n2=parseInt(oTxt2.value); if(isNaN(n1))
{
alert('您输入的第一个数字有误');
}
else if(isNaN(n2))
{
alert('您输入的第二个数字有误');
}
else
{
alert(n1+n2);
}
};
};
</script>
</head> <body>
<input id="txt1" type="text" />
<input id="txt2" type="text" />
<input id="btn1" type="button" value="求和" />
</body>
</html>
  • l隐式类型转换
  ==、===
var a=5;
var b='5'; alert(a==b); //true 先转换类型,然后比较alert(a===b); //false 不转换类型,直接比
var a='12';
var b='5'; alert(a+b); //125 1.字符串连接 2.数字相加
alert(a-b); //7 1.数字相减

5.什么是闭包

简单的理解:

子函数可以使用父函数中的局部变量
之前一直在使用闭包
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
//子函数可以使用父函数的局部变量 function aaa() //父函数
{
var a=12; function bbb() //子函数
{
alert(a);
} bbb();
} aaa();
</script>
</head> <body>
</body>
</html>

但是闭包还有一些高级的应用;

6.命名规范:

命名规范及必要性
l可读性——能看懂
l规范性——符合规则
 
匈牙利命名法
l类型前缀
l首字母大写

7.什么是真、什么是假:

真:true、非零数字、非空字符串、非空对象
假:false、数字零、空字符串、空对象、undefined

8.json

var json={a: 12, b: 5, c: 7};

//循环json
for(var key in json)
{
alert('第'+key+'个东西:'+json[key]);
}

9.

------------------

学习blus老师js(1)--基础的更多相关文章

  1. 学习blus老师js(6)--js运动基础

    运动基础 一.匀速运动 运动框架 在开始运动时,关闭已有定时器 把运动和停止隔开(if/else) <!DOCTYPE HTML> <html> <head> &l ...

  2. 学习blus老师js(5)--DOM操作应用高级

    一.表格应用 - 1 获取 tBodies.tHead.tFoot.rows.cells 一个表格可以有很多tbody,所以tBodies是数组: 一个表格只能有一个thead和tfoot,所以tHe ...

  3. 学习blus老师js(3)--定时器的使用

    1.无缝滚动——基础 物体运动基础 让Div移动起来 offsetLeft的作用 用定时器让物体连续移动   offsetLeft: 获取物体的左边距:最大的优点在于可以综合考虑所有影响这个物体位置的 ...

  4. 学习blus老师js(2)--深入JavaScript

    1.函数传参 可变参(不定参):arguments 参数的个数可变,参数数组   例1.求和 求所有参数的和 <!DOCTYPE HTML> <html> <head&g ...

  5. 学习blus老师js(4)--DOM

    一.DOM节点 1.获取子节点: childNodes  nodeType         节点类型 children            只包括元素,不包括文本:  子节点只算第一层.只算孩子一级 ...

  6. Node.js系列基础学习----安装,实现Hello World, REPL

    Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...

  7. Node.js学习笔记(一)基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  8. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  9. Vue.js的基础学习

    Vue.js的基础网上很多,这里不记录 开始正式页面的开发 1.页面加载时请求数据 methods: { post() { //发送post请求 this.$http.post('../../ashx ...

随机推荐

  1. UVa 11248 网络扩容(最大流(需要优化))

    https://vjudge.net/problem/UVA-11248 题意: 给定一个有向网络,每条边均有一个容量.问是否存在一个从点1到点N,流量为C的流.如果不存在,是否可以恰好修改一条弧的容 ...

  2. 测试工程师 技能要求:java编程,数据库,linux操作系统,自动化测试开发,性能测试,安全测试

    1.具有开发和测试经验,能负责带领大型项目测试 2.掌握或熟悉java编程,熟悉mysql,oracle等db,memcache,nosql等,有互联网行业从业经验 3.可撰写自动化测试工具以及搭建自 ...

  3. Same Tree,判断两个二叉树是不是相同的树,结构相同,每个节点的值相同

    算法分析:这道题很简单,利用递归即可. public class SameTree { public boolean isSameTree(TreeNode p, TreeNode q) { if(p ...

  4. 使用javascript模拟常见数据结构(二)

    四.链表 每种语言都实现了数组.这种数据结构非常方便,提供了一个便利的[]语法来访问它的元素.然而,这种数据结构有一个缺点:(在大多数语言中)数组的大小是固定的,从数组的起点或中间插入或移除项的成本很 ...

  5. shell 变量赋值运算

    .变量赋值: name=lbg 等号前后不能有空格 name="Lebron James" 变量值中有空格要用双引号 echo ${name} 用${}更保险 shopt -s - ...

  6. H5 canvas控制坦克移动

    接着上一篇(http://www.cnblogs.com/zhouhuan/p/H5_tankgame.html),这一篇研究一下怎么响应玩家的操作让坦克进行相应的移动.   1. 了解keydown ...

  7. office-word

    目录(大纲) word中大纲的视图(也就是目录)是根据1/2/3级大纲决定的 格式刷 可以刷成一样的格式,字体,编号以及大纲等等. 主要用于编号和目录,快捷键(ctrl+shift) 编号设置(不建议 ...

  8. Python Inotify 监视LINUX文件系统事件

    Inotify 可以监视的LINUX文件系统事件包括: --IN_ACCESS,即文件被访问 --IN_MODIFY,文件被write --IN_ATTRIB,文件属性被修改,如chmod.chown ...

  9. VS2017 IDE中发布自包含(SCD)DotNET Core项目

    根据Stack Overflow上的一个回答得知,这项功能目前VS2017并不具备,但你可以通过如下方法发布自包含项目: 1.项目文件(.csproj)中添加RuntimeIdentifier配置项, ...

  10. 升级安装windows8.1以后windowsphone8不能启动虚拟机的办法

    如果之前在的虚拟机是OK的话,VS2012需要安装update3补丁才可以. 下载地址:http://download.microsoft.com/download/D/4/8/D48D1AC2-A2 ...