JS-1-概念-基本语法-运算符-流程控制

JS 概念

1
了解什么是JS

javascript的爷爷是liveScript
是一种基于对象和事件驱动,并具有安全性能的脚本语言!

由浏览器执行,解释执行,不会翻译成二进制!

JS只是BROWSER执行,和服务器没有任何关系!
服务器只是把它当文本输出给 浏览器而已!

HTML显示而已,死的,JS是活的
浏览器都有JS引擎的,会执行的
放在<script></script>里,引擎就知道怎么处理了
如果不支持,注释一下
浏览器执行过程
一上来,就试图全部读一下,
读的时候,如果发现有alert,就马上对话框,
点掉对话框后才可以再往下!


<script language="javascript">
alert(new Date());
</script>

Tue Dec 15 23:07:57 UTC+0800 2009
怎么格式化我还不知道!

像上面这些,可以访问到电脑的时间,
这是HTML不可能做的到


javasript navigator
jscript MS
ECMAScript 算是标准 但是前面两个不理睬[每个IE都要遵守]

可以去这些地方挖老根:
http://developer.netscape.com[没有用了]
http://msdn.microsoft.com/scripting[老了]
https://developer.mozilla.org/en/JavaScript[good]
http://www.microsoft.com/china/vbscript/vbslang/vbstoc.htm

=============================
2
JS基本语法
JS[通常]放在<script></script>里
而<script></script>可以出现在网页的head body的任何地方
也可以出现多次!
多段代码间还可以相互访问!
多段代码和写在一起的代码没有区别[看不懂看例子]

下面的效果是一样的!
<script>
var x=3;
</script>
<p>xxx</p>
<script>
alert(x);
</script>
-----------
<p>xxx</p>
<script>
var x=3;
alert(x);
</script>

★老浏览器不支持,可以用 注释 !
<script language="javascript">
<!--
var x=3;
alert(x);

-->
</script>
//注意在JS里,将忽略HTML注释!
JS自己的注释有两种
★//
★/* */[不可以潜逃,但是可以潜逃上面的注释符]


★引用外部JS
<script src="xx.js" language="javascript">
</script>


★还可以把JS当属性
<a href="javascript: alert(new Date());">clickme</a>

JS 大大扩展了HTML 标签的内容
本来就是些 属性 属性值
有了JS后,就多了事件了!
onclick
onblur
....

来看保留字 53个
abstract boolean break byte case
catch char class const continue
default do double else extends
false final finally float for
function goto if implements import
in instanceof int interface long
native new null package private
protected public return short static
super switch synchronized this throw
throws transient true try var
void while with


基本语法真正开始:

★首先 JS非常非常好的一点就是严格区分大小写!!
★里面的标识符[变量 函数 叔祖名等]的规则也和JAVA类似!
字母 数字 下线 dollar符
不可以数字 不可以保留字
★每条语句的最后必须用';'隔开
★每个词也必须用 空格 tab键 换行符 等分开

---------------看看基本数据类型和常量

共6类 整型常量 实型常量 步儿值 字串常量 null常量 undefined常量
1
整型常量
十六进制必须要0X 或者 0x 开头 [0x8a]
八进制必须要0 开头 [0123]
十进制的第一位不可以是0,

2
实型常量
12.22 168.2 5E7 4e4

3
步儿值
true false

4
字串常量[★JS里没有字符常量]
字串常量必须要用 单引号 或者 双引号
"hubin" ,'hb', 'b',"h",'' ,""
特殊字符还需要转义:
\r
\n
\t
\b
\'
\"
\\

5
null常量
这和JAVA有点区别,
null表是,我已经赋值了,赋了null
通常是对对象来说的[现在还不是怎么很清楚什么是对象]


6
undefined常量
说明某个变量还没有赋值
或者说某个对象的某个属性不存在!


----==========--变量
JS是弱类型的
反正这样记就好了,定义一个变量,系统就分配一块内存
里面可以放东西,放什么系统看吧!

用var 关键字声明 变量

e.g.
var name;
这时候name是undefined;

JS有个特别的现象:
name + "222222";
会出现undefined222222,真是搞不懂

还有,
name="hubin"后
还可以
name=123;变数字了,

还有,
也可以不声明就用
x=6;

更可恶的是
var name=333;
alert(name + 1);//334

name=333;
alert(name + 1);//3331
难道不写var就都是字串?????
==========================================
3
运算符

算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符

=============
算术运算符
★+


连字串[字串比较数字权力大]

★-



★*


★/
除[不是整数,是实数,这是JS,不是JAVA]

★%
求余


++
--

===========
赋值运算符

=
+=
*=
...

===========
比较运算符
[得到值 是 true or false]
> <
>= <=
== !=

============
逻辑运算符
&&
||
![运算级别高]


===================
位运算符
& [两个位都是1 结果才是1]
| [两个位都是0 结果才是0]
^ [异或 两位不同 结果是1]
>>[右移,移后空的补最高位的]
这样好,正数移后还是正,负移后还是负
移位就是除法,移1就是除2
>>> 移空的部分都是补0


<< 往左移
移空的补0


数字[可能是整数]
有个方法,可以看里面的进制数据
var x=0x80000000;
alert(b.toString(16));//这就可以查看b的十六进制的数据了cool啊

★★上面移来移去都不会改变 原来是数值
就像 加减乘除一样
a+3;
a原来是多少就是多少,
除非你a=a+3;
===============================
4
程序的流程控制
一样都不少

★顺序结构[一条一条下来]
★if条件选择
var x;
if(x<0)//这个if 不会成立!

--------JS特有的又来了
var x;//x明明是undefined , 但是:
if(x == null){
//可以进来的!!!!!!!!!
}
---------------这样的话或许会好理解一些
var x;
if(typeof(x) == "undefined") {
//这肯定可以进来!!!!!
//"undefined" 引号一定要有
}
-----------------JS也做了件好事
-------------------对于上面的情况
if(!x) {
//null undefined 都和false是一类的
//可以进来是我用了 "!"
}
第二种==================
if ... else

if 和 else都是为了 在某些情况下不执行

----if else 的替代产品
变量 = 步尔表达式? 语句1:语句2 ;
变量的值要么是 语句1 要么是 语句2


第三种===========
还有一种 一串一串的
if
else if
else if
else if
else
记得只有一项会执行哦!!!![而且肯定会执行一项!]

这种情况还有一个变种,有时候非常有用
就是把最后一项目 删除!!
这样,如果一串的条件一个都没有满足,
这个if else 串就形同虚设了!!


第四种=============
潜逃,说个写法,虽然不推荐,但是还是很好看的
if(x<1)
if(y==1)
alert("x<1,y==1");
else(
alert("x<1,y!=1");
else if(x>10)
if(y==1)
alert("x>10,y==1");
else
alert("x?,y?");

但是好看归好看,错误肯定还是有的:
谁知道最后一个else和谁配对呢?????
所以,还是用{}最好


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

★switch选择 [没有break会穿透return 也可以 default后可以省略]

switch(表达式)
{
case value1:
statement1;
break;

case valueN:
statementN;
break;

default:
statementX;
break;//这个可以省略
}

c c++ java [int short byte char]
JS [支持他所有的变量类型!!!]


★while选择
是循环 也是判断

注意分号和循环变量改变

while(x<3)
{
statementX;
}


★do while语句[有一个分号,肯定会执行一次]
do
{
statementX
}
while(expression);


★for语句
for(init 一次 ; 判断 ; 循环后的操作)
{

}

★break 和 continue

没有 标号 的break 会把控制 交给 包含他的那个 loop 的最后
带标号的很少用,
st:while(true)
{
while(true)
{
break st;
}
}
----本来只可以跳到外层loop
现在可以跳完了,跳到--线处了

continue 只可以用在 while do while for 里面
跳出本次 loop 后面的代码而已

所有的所有,MSDN里都用!!!!!!!!!!!!
===============================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值