Javascrip笔记(一)

Javascript

1.Javascript的特点

解释性语言:jabascript(单线程、浮点型) php 优点:跨平台 不足:稍微慢

编译性语言:c c++ 优点:快 不足:移植性不好(不跨平台)

Java oak语言:.java --> javac指令 --> 编译 --> .class --> jvm虚拟机 --> 解释执行

Javascript 三部分:ECMAScript (原生有部分) DOM (操作文档部分html和css) BOM (操作浏览器)

主流浏览器(必须有独立内核)市场份额大于 3%内核名称
IEtrident
chromewebkit/blink
firefoxgecko
operapresto
safariwebkit

2.Javascript的引入方式

1.<script type="text/javascript">内容<script>                      页面级js文件
2.<script type="text/javascript" src="index.js"></script>           引入外部js文件

结构     行为     样式    相分离
html     js       css

3.变量

命名规则(用接近的英文单词) ———— 起变量名一定要以英文语义化

1.变量名必须以英文字母、 _、 $ 开头
2.变量名可以包括英文字母、 _、 $、数字
3.不可以用系统的关键字、保留字作为变量名

var a; 这个叫变量声明。
我们向系统中申请了 var 这个框,命名叫 a给 a 赋值 100,写作 a =100,
这里不是等号是赋值
var a ; a = 100;可以简化写成 var a = 100;

下面是变量,例: 
var a = 10;
var b = 20;
var c;
c = a + b;
先运算等号右边的 a+b,运算完后,再赋值给左边 c
先取值,再赋值

3.值类型

原始值 stack 栈 ----------不可改变,后变量申明,重新赋值进行覆盖

  1. number 数字,例 var a = 123;
  2. string 字符串,语言放双引号里, 例 var a=”语言”,““是空串
  3. boolean 布尔值, false, true
  4. undefined 未定义的值
  5. null 代表空, 占位用,用空值来覆盖

引用值 heap 堆

  1. Array 数组 var arr = [1,2,3,4,5,false,” abc” ];
  2. Object 对象
  3. function 函数
  4. RegExp 正则

js 由值决定类型。原始值和引用值唯一的不同是赋值形式不同

4.语句基本规则

1、语句后面要用分号结束“;” 但 function test(){}, for(){}, if(){} 后面都不用加分号
2、 js 语法错误会引发后续代码终止,但不会影响其它 js 代码块
错误分为两种
1)低级错误(语法解析错误),不能写中文
2)逻辑错误(标准错误,情有可原,错的那个执行不了)
3、书写格式要规范,“= + / -”两边都应该有空

5.运算符

赋值的顺序自右向左,计算的顺序自左向右。先计算后赋值

+

1. “+”作用:数学运算、字符串链接
2.任何数据类型加字符串都等于字符串

例 var a = “a” + true + 1;           //打印 atrue1
例 var a = 1 + “a” + 1 + 1;          //打印 1a11
例 var a = 1 + 1 + “a” + 1 + 1;      //打印 2a11,从左向右运算
例 var a = 1 + 1 + “a” +( 1 + 2);    //打印 2a3

- * / =

例 var a = 0 – 1;     //等于-1
例 var a = 2 * 1;     //等于 2
例 var a = 0 / 0;     //答案是 NaN,应该得出一个数字类型的数,但是没法表达,
                                就用 NaN (NaN 是 Not a Number 非数,不是数,但是是数字类型
例 var a = 1 / 0;      //是 infinity
例 var a = -1 / 0;     //是-infinity

%,摩尔,模,是取余数的意思

例 var a =5%2              //5%2 是五除二的余数,商二余一
例 var a =5%1              //是五除一的余数,结果是 0
例 var num = 1 % 5;        //意思是 1 除以 5 的余数。商 0 余 1

优先级” =“最弱【赋值符号优先级最低】,” ()”优先级较高

++ - -

例 var a = 1;  
	 a = a + 1;    //结果 2
例 var a = 1;
	 a ++;         //结果 2

“++” 加1赋值(自身加1赋给自身) a ++;等赋值语句运行完才会加 ++ a; document.write(a ++); 显示a

"- -"是自身减一,在赋值给自身
document.write(++ a); 显示a+1的值

例 var a =10; document.write(++a );document.write(a); //答案 11; 11

是先执行++,再执行本条语句 document.write(++a)

例 var a =1; document.write(a ++);document.write(a); //答案 1; 2。 是先执行

语句(document.write(a)),再++,所以第一次打印的还是 a,第二次打印 a++后的值

+=、-=、 *= 、/= 、% =

‘+=’

例 
	var a = 10; a ++; a ++; a ++; 加十个
	简化写法: a += 10;也是 a = a + 10;

例
	var a = 10;
	a += 10 + 1;     //答案 21
例 
	var a = 1;a = a + 10;等于 a += 10
	a ++是 a += 1 的写法

‘/=’

例 var a = 10; a /= 2;  //答案: 5,是除二赋给自身的意思

‘*=’

例 var a = 10; a *= 2;  //答案: 20,是乘二赋给自身的意思

‘%=’

例 var a = 10; a %= 2;  //答案: 0, 10 能整除 2,余数是 0,取余,余数赋给自身。
例 var a = 3; a %= 4;   //答案: 3, 3 除以 4,余数为 3,余数赋给自身。
例 var a = 0; a %= 4;   //答案: 0, 0 除以 4,余数为 0,余数赋给自身。
例 var a = 1; a %= 10;  //答案: 1, 1 除以 10,余数为 1,余数赋给自身。

“>”,” <”,” ==”,“>=”,“<=”,” !=”比较结果为 boolean 值

但凡是运算符,都是要有运算的
用到布尔值, true 或 false
字符串的比较,比的是 ASCII 码(七位二进制 0000000)
" == "

例 var a = NaN == NaN;              //答案是 false, NaN 不等于任何东西,包括他自己
例 var a = undefined == underfined; //答案是 true
例 var a = infinity == infinity;    //答案是 true
例 var a = NaN == NaN;              //答案是 false。非数 NaN 是不等于自己的
                                      NaN 得不出数,又是数字类型,就是 NaN

" != "
非等于,是否不等于,比较结果为 boolean 值: true 和 false

逻辑运算符 “&&”、“||”、“!” 与或非

undefined、null、NaN、""、0、false ==> false

" && "
与运算符(一定返回结果) 会先看与运算符前面的表达式转换成布尔值的结果是否为真,如果为真,那么它会看第二个表达式转换为布尔值的结果,然后如果只有两个表达式的话,只会看到第二个表达式,就可以返回该表达式的值。
如果是三个或多个表达式,会先看第一个表达式是否为真,如果为真,就看第二个表达式,如果第二个也为真,就看第三个表达式(如果为真就往后看,一旦遇到假就返回到假的值),如果第三个是最后一个表达式,那就直接返回第三个的结果。
全真才为真

" || ”
看第一个表达式是否为真,如果为真,则返回第一个值,碰到真就返回如果第一个表达式是假,就看第二个表达式,如果第二个是最后一个,就返回第二个的值
全假才为假,有一个真就为真

“!”
先转成布尔值,再取反

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值