澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:快速入门,读书笔记

2019-06-29 作者:www.8455.com   |   浏览(169)

前言:

一、Javascript的注释与分号

1.// 单行注释
2./**/多行注释
3.语句结束使用分号,如果省略,则由解析器确定语句的结尾。

JavaScript语法

第一章 快速入门

澳门新萄京官方网站:快速入门,读书笔记。1.字符串的连接

  • 用一个字符串的内容来代替一个变量的操作就是插值(interpolation)。
  • 双引号("")中,变量名称将被变量值所替代;而在单引号('')中,变量名称,或者任何其他文本都会不仅修改而发送给浏览器。

2.变量于文本

  • 变量是表示数据的符号。字符串是数据本身。
  • 第三种制定字符串的方法:heredoc语法(<<<),通过指定一个用来结束字符串的结束标记,Heredoc语法允许指定长字符串。

3.理解标识符

  • 标识符是变量的名称。
  • 标识符可以是任何长度,而且可以由任何字母、数字、下划线组成;
  • 标识符不能以数字开始;
  • 在PHP中,标识符是区分大小写的;
  • 一个变量名称可以与一个函数名称相同;
  • 不能创建一个具有与已有函数同名的函数。

4.PHP的数据类型

  • 特定的内置函数(例如数据库函数)将返回resource类型的变量。它们都代表外部资源(例如数据库连接)
  • 基本上不能直接操作一个resource变量,但是通常它们都将被函数返回,而且必须具有作为参数传递给其他函数。

5.类型转换

  • 使用类型转换,可以将一个变量活值转换成另一个类型。
  • 只需在希望进行类型转换的变量之前的圆括号中插入需要转换的临时数据类型即可。
    • $totalqty=0; $totalamount=(float)$totalqty;
    • 解释:取出保存在$totalqty的值,并将其解释成一个浮点类型,并且将其保存在$totalamonut中。

6.声明和使用常量

  • 一个常量可以保存一个值,例如一个变量值,但是常量值一旦被设定后,在脚本的其他地方就不能再更改。
  • 用define函数定义常量。
    • 例如:define('OILPRICE',10);
  • 常量名称都是由大写字母组成的
  • 常量和变量之间的一个重要不同点在于引用一个常量的时候,它前面并没有$符号。
  • 常量可以自己定义,PHP还预定义了许多常量。可以通过后phpinfo()函数来了解。
  • 常量只可以保存布尔值(bool)、整数(int)、浮点数(float)或字符串(string)数据。

7.理解变量的作用域

  • 作用域是指在一个脚本中某个变量可以使用或可见的范围。
    • PHP有6项作用域规则
      • 内置超级全局变量可以在脚本的任何地方使用和可见;
      • 常量,一旦被声明,将可以在全局可见;也就是说,它们可以在函数内外使用;
      • 在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部;
      • 函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致;
      • 在函数内部创建冰杯声明为静态的变量无法再函数外部可见,但是可以在函数的多次执行过程中保持该值;
      • 在函数内部创建的变量对函数来说是本地的,而当函数终止时,该变量也就不存在了。

8.前置递增递减( $a和- -$a)和后置递增递减运算符($a 和$a- -)

  • 所有递增操作符都有两个功能:
    • 将变量增加1;
    • 增加后的值赋给原变量。
  • $a前置递增
    • 运行结果是:首先将变量$a加1,再将加1后的结果复制给原变量$a。
    • $a=4;
      echo $a;
      echo $a;
      -屏幕显示为:2 2
  • $a 后置递增
    • 运行结果是$a的值被返回并显示在屏幕上,然后,$a再加1。
      • $a=4;
        echo $a ;
        echo $a;
    • 屏幕显示为:1 2

9.引用操作符(&)

  • 通常来说(既在不使用&符号时),在将一个变量的值(a)赋给另一个变量(b)的时候,先产生原变量的一个副本,然后再将他保存在内存的其他地方。原变量(a)改变时,变量(b)并不跟着一起改变。
    • $a=4;
      $b=$a;
      $a=6;
      echo "a=".$a."<br />b=".$b;
    • 屏幕显示为:

澳门新萄京官方网站 1

  • 如果使用了引用操作符&则$b也会跟着$a进行更改。
    • $a=4;
      $b=&$a;
      echo "a=".$a."<br />b=".$b;
    • 屏幕显示为:

澳门新萄京官方网站 2

  • 所以引用操作符&就像一个别名,而不是一个指针。$a和$b都指向了内存中相同的地址。
  • 可以通过重置(unset($X))来改变所指向的地址。
    • unset($a);
    • 该重置不会改变$b的值,但是可以破坏$a和值7保存在内存中的连接。
    • 例如:
      • $a=4;
        $b=&$a;
        unset($a);
        echo "a=".$a."<br />b=".$b;
      • 屏幕会显示为:
        ![](https://upload-images.jianshu.io/upload_images/4167376-31b0d8f53fb83256.png)

        -   notice的意思是未定义的变量a在第6行。

10.比较操作符

  • 恒等操作符(===)三个等于号,只有当恒等操作符两边的操作数相等并且具有相同的数据类型,其返回值才为true。

11.操作符优先级

  • 普通的圆括号是优先级最高的操作符。它的作用就是提高圆括号内部操作符的优先级;这样在需要的时候,就可以避开操作符的优先级法则。
    • 可以在一个表达式中使用任意个圆括号,最里层圆括号的表达式将最先计算。
  • 优先级从高到低

澳门新萄京官方网站 3

优先级从高到低

12.关于print和echo

  • print语言机构等价于echo语句。这两个结构都将生成输出;
  • print和echo都不是真正的函数,但是都可以用带有参数的函数形式进行调用;
  • print和echo都可以当作一个操作符:只要将要显示的字符串放置在echo或print关键字之后;
  • 以函数形式调用print将使其返回一个值(1);
  • print的速度要比echo慢。

13.关于gettype()和settype()

  • 要使用gettype()函数,必须先给它传递一个变量。它将确定变量的类型并返回一个包含类型名称的字符串;如果变量类型不是标准类型之一,该函数就会返回"unknown type"。

  • 要使用settype()函数,必须先给它传递一个要被改变类型的变量,以及一个包含了上述类型列表中某个类型的字符串。

  • $foo="5bar"; //string
    $bar=true; //bool
    settype($foo,"integer"); //integer
    settype($bar,"string"); //string
    echo gettype($foo)."<br />".gettype($bar);

  • 屏幕显示:

![](https://upload-images.jianshu.io/upload_images/4167376-20e2c2929d29e126.png)

14.PHP的特定类型测试函数

  • is_array():检查变量是否是数组;
  • is_double()、is_float()、is_real():检查变量是否是浮点数;
  • is_long()、is_int()、is_integer():检查变量是否是整数;
  • is_string():检查变量是否是字符型;
  • is_bool():检查变量是否是布尔型;
  • is_object():检查变量是否是一个对象;
  • is_resource():检查变量是否是一个资源;
  • is_null():检查变量是否为null;
  • is_scalar():检查变量是否是标量,即一个整数、布尔值、字符串或浮点数;
  • is_numeric():检查该变量是否是任何类型的数字或数字字符串;
  • is_callable():检查变量是否是有效的函数名称。

15.测试变量状态

  • isset()函数:该函数需要一个变量名称作为参数,如果这个变量存在,则返回true,否则返回false;
    • bool isset(mixed var);[;mixed var[,...]])
  • unset()函数:该函数将销毁一个传进来的变量。
    • void unset(mixed var);[;mixed var[,...]])
      -empty()函数:该函数可以用来检查一个变量是否存在,以及它的值是否为非空或非0,相应的返回值为true或false。
    • bool empty(mixed var);

16.while循环

  • while循环语句只要其条件为真,就会不断重复执行代码块。
  • 当不知道所需的重复次数时,可以使用while循环语句。如果要求一个固定次数的重复,可以考虑使用for循环语句。

17.for循环

  • while循环和for循环是等价的,区别只是在于for循环更加紧凑。
  • foreach循环语句是专门用于数组的使用。

18.do...while循环

  • do....whild循环与while循环不同,因为它的测试条件放在整个语句块的最后;也就意味着do....while循环中的语句或语句块至少会执行一次。

19.关于跳出

  • 如果希望终止一个循环,可以使用break语句。使用了break语句后,脚本就会从循环体后面的第一条语句处开始执行。
  • 如果希望跳到下一次循环,可以使用continue语句。
  • 如果希望结束整个PHP脚本的执行,可以使用exit语句。

语法、关键保留字及变量

这个笔记是我个人总结,主要是熟练自己查看《Visual C# 从入门到精通》(第8版)这本书时,懵然起总结的想法,只是总结一些知识点,在工作项目会用得上,但是对毫无C#语言基础的,不大适合,因为里面会结合我自己的一些看法,估计需要一些基础才能看明白,如果需要一门入门级书籍还是要去购买《Visual C# 从入门到精通》(第8版)PDF版或者纸质版去一步步跟着书籍去练习操作。

二、Javascript的语法

一切变量,函数名和操作符都区分大小写。

一、JavaScript的组成

完整的JavaScript是由ECMAScript(语法)、Browser Objects(DOM、BOM)(特性)组成的。

JavaScript的组成.jpg

 

——清风一人醉

三、Javascript的标识符

1.标识符:变量,函数,属性的名字,或者函数的参数。
2.标识符的命名规则:
(1)由字母、数字、下划线_或美元符号$组成。
(2)不能以数字开头。
(3)不能使用关键字、保留字等作为标识符。

二、javaScript的语法规则

1.注释:

单行://
多行:/**/
语句结束使用分号,如果省略,则由解析器确定语句的结尾

注:ECMAScript中的一切(变量、函数和操作符)都区分大小写

2.标识符

变量、函数、属性的名字或者函数的参数即标识符

命名规则:
澳门新萄京官方网站:快速入门,读书笔记。(1)由字母、数字、下划线(_)或美元符号($)组成
(2)不能以数字开头
(3)不能使用关键字、保留字等作为标识符。

3.变量
ECMAScript的变量是松散类型
松散类型:可以用来保存任何类型的数据
换句话说,每个变量仅仅是一个用于保存值的占位符而已。
1.变量声明:
变量的声明要使用var操作符,
语法:var 变量名

2.变量赋值:
声明的同时赋值:var 变量名=值
先声明后赋值: 变量名=值

一次声明多个变量,用逗号隔开,如:var id,sex,age,name=“marry”;
省略var声明的变量是全局变量
不推荐省略var操作符来定义全局变量

<script>
    //声明保存用户名的变量
    var name;
    name="marry";
    //声明保存年龄的变量
    var age = 18;
    //声明保存邮箱的变量
    var email="marry@sina.com.cn";
    //一次声明多个变量
    var name_1="tom",age1=19,email1="tom@sohu.com",address;
</script>

4.JavaScript数据类型

ECMAScript中有5种简单数据类型(也称为基本数据类型):
Undefined、Null、Boolean、Number和String。
还有1种复杂数据类型:Object。

JavaScript数据类型.jpg

typeof.jpg

<script>
    //声明保存用户名的变量
    var name;
    name="marry";
    //声明保存年龄的变量
    var age = 18;
    //声明保存邮箱的变量
    var email="marry@sina.com.cn";
    //一次声明多个变量
    var name_1="tom",age1=19,email1="tom@sohu.com",address;
    console.log(name)
    console.log(age)
    console.log(typeof name) //string
    console.log(typeof(age)) //number
</script>

(1)undefined
undefined类型只有一个值,即特殊的undefined。

说明:一般而言,不存在需要显式地把一个变量设置为undefined值的情况。

(2)null
1、null值表示一个空对象指针
2、如果定义的变量准备在将来用于保存对象,那么最好将改变量初始化为null而不是其他值。

说明:undefined值是派生自null值的,所以undefined==null
返回结果是true。

(3)Number
Number:表示整数和浮点数
NaN:即非数值(Not a Number)是一个特殊的数值

说明:
1、任何涉及NaN的操作(例如NaN/10)都会返回NaN。
2、NaN与任何值都不相等,包括NaN本身。

var age = 18;
console.log(age-3); //15
console.log(age-"abc") //NaN
console.log(typeof(age-"abc"));//number

isNaN():
语法:isNaN(n)
功能:检测n是否是“非数值”
返回值:boolean
参数:参数n可以是任何类型
说明:isNaN()在接收到一个值之后,会尝试将这个值转换为数值。
某些不是数值的值会直接转换为数值。

var age = 18;
var email="marry@sina.com.cn";
var id = "16";
console.log(isNaN(age));//false
console.log(isNaN(email));//true
console.log(isNaN(id));//false

(4)String
String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(”)或单引号(’)表示。

toString()与String():
语法:str.toString()
功能:将str转换为字符串
返回值:str的一个副本
参数:str是要转换的内容,可以是数值、布尔值、对象和字符串。

说明: 在不知道要转换的值是不是null或undefined的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串。

var ids = 78965;
var idstr = ids.toString();
console.log(typeof idstr) //string 78965
console.log(String(ids)); //78965

var m;
console.log(String(m));//不清楚m为什么类型,尽量使用String();

(5)Boolean
用于表示真假的类型,即true表示真,false表示假

类型转换:
1、除0之外的所有数字,转换为布尔型都为true
2、除””之外的所有字符,转换为布尔型都为true
3、null和undefined转换为布尔型为false

var isStudent=true;
var isChild=false;
console.log(typeof isStudent);//boolean

console.log(isChild.toString());//false 此时的false是一个字符串

var x=1;
console.log(Boolean(x));//true
var y=12343
console.log(Boolean(y));//true
var z=0;
console.log(Boolean(z));//false

var strings="welcome";
console.log(Boolean(strings));//true

var strings1="";
console.log(Boolean(strings1));//false

var strings2=" ";
console.log(Boolean(strings2));//true

var h;
console.log(Boolean(h));//false

var timer=null
console.log(Boolean(timer));//false

5.数值转换
有3个函数可以把非数值转换为数值:Number()、parseInt()和
parseFloat()。
其中Number()可以用于任何数据类型,而parseInt()和parseFloat()则专门用于把字符串转换成数值。

(1)parseInt():会忽略字符串前面的空格,直至找到第一个非空格字符。

说明:
1、parseInt():转换空字符串返回NaN。
2、parseInt()这个函数提供第二个参数:转换时使用的基数(即多少进制)

var id = "16";
console.log(typeof id);//string
id=Number(id);
console.log(typeof id);//number

var name="tom"
name = Number(name);
console.log(name);//NaN

// var topVal="28px";
var topVal=parseInt("28px");
console.log(topVal);//28

var c="abc58"; //非数字开头
console.log(parseInt(c));//NaN  parseInt转换的必须以数字开头

console.log(parseInt("0xf"));//15  把0xf转化为16进制

(2)parseFloat:从第一个字符开始解析每个字符,直至遇见一个无效的浮点数字符为止

说明:
除了第一个小数点有效外,parseFloat()与parseInt()的第二个区别在于它始终都会忽略前导的零。

var a = parseFloat("12.34px");
console.log(a);//12.34

var b = parseInt("12.34px");
console.log(b) //12

var c = parseFloat("12.34.56px");
console.log(c);//12.34 第二个小数点会忽略

var e = parseInt("0123");
console.log(e);//123

var f = parseFloat("0123");
console.log(f);//123

var g = parseFloat("0.123abc");
console.log(g);//0.123

学习要点:

第I部分 Visual C#和Visual Studio 2015 概述

四、变量

Javascript的变量是松散类型,可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值得占位符而已。

三、JavaScript操作符

1.表达式

将同类型的数据(如常量、变量、函数等),用运算符号按一定的规则连接起来的、有意义的式子称为表达式。

2.JavaScript操作符分类

1、算数操作符

  :加
- :减
* :乘
/ :除
%:取余

递增和递减
(1)递增
a与a 都是对a进行递增的操作
区别:
a先返回递增之后的a的值
a 先返回a的原值,再返回递增之后的值
(2)递减同理

var num1=10,num2="abc";
console.log(num1*num2); //NaN

var num1=10,num2="5";
console.log(num1*num2); //50 隐式类型转换


var a=10,b=5,
    c=  a b;
console.log(a);//11
console.log(c);//16

var a=10,b=5,
    c=a  -b;
console.log(a);//11
console.log(c);//5

x1=20,
x2=30,
x3=--x1 x2--;
console.log(x1);//19
console.log(x2);//29
console.log(x3);//49

2、逻辑操作符
逻辑操作符:
①&&:与
&& 与 (只要有一个条件不成立,返回false)

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,
此时它遵循下列规则:
1、如果第一个操作数隐式类型转换后为true,则返回第二个操作数
2、如果第一个操作数隐式类型转换后为false,则返回第一个操作数
3、如果有一个操作数是null,则返回null
4、如果有一个操作数是NaN,则返回NaN
5、如果有一个操作数是undefined,则返回undefined

var num1=10,
    num2=20,
    num3=30,
    str="welcome",
    bool=true,
    n=null,
    m;
console.log(num1<num2 && num2<num3);//true
console.log(num1<num2 && num2==num3);//false
console.log(num1<num2 && num3>num1 && false);//false

console.log(str && num3);//30
console.log(80 && 50);//50
console.log("hello" && 65 && "abc");//abc 多个时返回最后一个操作数的值

console.log(0 && 88);//0
console.log("" && 0 && 30>20);//空

console.log(n && num3);//null  操作数中只要有一个是null 结果就是null
console.log(33*"abc" && 55);//NaN
console.log(m && true); //undefined

②||:或
|| 或 (只要有一个条件成立,返回true)

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回
值,此时它遵循下列规则:
1、如果第一个操作数隐式类型转换后为true,则返回第一个操作数
2、如果第一个操作数隐式类型转换后为false,则返回第二个操作数
3、如果两个操作数是null,则返回null
4、如果两个操作数是NaN,则返回NaN
5、如果两个操作数是undefined,则返回undefined

console.log(55>88 || 33<66);//true
console.log(55!="55" || 88==="88");//false
console.log("hello" || 0);//hello
console.log(99 || 0 || "abc");//99
console.log("" || 88 || true);//88
console.log("" || 0 || "abc");//abc
console.log("" || 0 || null);//null
console.log("" || 0 || null || "hello");//hello
var m;
console.log(m || NaN);//NaN
console.log(m || NaN || 99);//99
console.log("" || m);//undefined
console.log(30*"abc" || 55-"def");//NaN

③!:非
! 非

说明:
1、无论操作数是什么数据类型,逻辑非都会返回一个布尔值
2、 ! ! 同时使用两个逻辑非操作符时:
第一个逻辑非操作会基于无论什么操作数返回一个布尔值,
第二个逻辑非则对该布尔值求反。

console.log(!false);//true
console.log(!88);//false
console.log(!0);//true
console.log(!"red");//false
console.log(!NaN);//true
console.log(!null);//true

console.log(!!"");//false
console.log(!!"blue");//true

3、赋值操作符
简单赋值:=
复合赋值: =、-=、*=、/=、%=

var a=10;
var b=20;
a =5;
b%=4;
console.log(a);//15
console.log(b);//0

var str="hello ";
str ="world"//连接符 str=str "world";
console.log(str); //hello world

4、比较操作符

>、<、>=、<=、==、===、!=、!==
==:相等,只比较值是否相等
===:相等,比较值的同时比较数据类型是否相等
!=:不相等,比较值是否不相等
!==:不相等,比较值的同时比较数据类型是否不相等
返回值:boolean型

例:

var x=10,
    y="10",
    c=x==y;//值是否相等
console.log(c);//true

z=x===y;//全等
console.log(z);//false

var m=15,
    n=y!=m;
console.log(n);//true
k=x!=y;
console.log(k);//false
j=x!==y;
console.log(j);//true

console.log(null==undefined);//true
console.log(null===undefined);//false

5、三元操作符
语法:
条件 ? 执行代码1:执行代码2

说明:可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2

var score=85;
var result=(score>=60)?"及格":"不及格";
console.log(result);//及格

1.语法构成

第1章 使用变量、操作符和表达式

五、变量的声明与赋值

1、变量的声明:变量的声明要使用var操作符
语法:var 变量名
2、变量赋值:
(1)生命的同时赋值:var 变量名=值
(2)先声明后赋值:变量名=值
(3)一次声明多个变量,用逗号隔开,如:var id,sex,age,name="marry";
说明:
1.省略var声明的变量是全局变量
2.不推荐省略var操作符来定义全局变量

2.关键字保留字

1.1 理解语句、标识符和关键字

语句是执行操作的命令,如计算值,存储结果,或者向用户显示消息。

 

C#语句遵循良好定义的规则集,而这些规则描述语句的格式和构成,称为语法

 

描述语句做什么的规范称为语义

 

*划重点 C#语句语法规则:**所有语句都必须以分号终止。**

 

标识符是对程序中的各个元素(命名空间、类、方法和变量)进行标识的名称。

 

*划重点 C#选择标识符语法规则:

  • 只能使用字母(大写和小写)、数字和下划线
  • 标识符必须以字母或下划线开头(如result,_name)

 

C#语言保留77个标识符供使用,这些标识符称为关键字,每个关键字有特定含义。如class,namespace,using等。(其它关键字想要了解,可百度一下。)

 

六、Javascript的数据类型

5种简单数据类型(基本数据类型):Undefind,Null,Boolean,Number,String
1种复杂的数据类型:Object

3.变量(variable)

1.2 使用变量存储信息

变量是容纳值的一个存储位置。在使用变量的时候要对它进行命名。例如 int count;

 

*划重点 命名变量规则:

  • 不要以下划线开头。虽然在C#中合法,但限制了和其它语言(如Visual Basic)的代码的互操作性。
  • 不要创建仅大小写不同的标识符。例如同时使用myVariable和MyVariable变量,它们易混淆。在Visual Basic这样不区分大小写的语言中,类的重用性也会受限。
  •  名称以小写字母开头。
  •  在包含多个单词的标识符中,从第二个单词起,每个单词都首字母大写(这种写法是驼峰式)例如camelCase。

 

typeof

1.语法:typeof 变量或typeof(变量)
2.功能:检测变量类型
3.返回值:string类型,即有可能为undefind,boolean,number,string,object,function

 

1.3 使用基元数据类型

数据类型

描述

大小(位)

示例

int

整数

32

int count;

count =42;

long

整数(更大范围)

64

long wait;

wait =42L;

float

浮点数

32

float away;

away=0.42F;

double

双精度(更精确)浮点数

64

double trouble;

trouble =0.42;

decimal

货币值(具有比double更高的精度和更小的范围)

128

decimal coin;

coin =0.42M;

string

字符序列

每字符16位

string vest;

vest =“text”;

char

单字符

16

char text;

Text=‘x’;

bool

布尔值

8

bool teeth;

teeth=true;

 

注意:

L:表示long

F:表示float

M:表示decimal

 

undefined

1.undefined类型只有一个值,即特殊的undefined.
2.说明:一般而言,不存在需要显示的把一个变量设置为undefined的情况。

任何语言的核心都必然会描述这门语言最基本的工作原理。而JavaScript 的语言核心就是ECMAScript,而目前用的最普遍的是第3 版,我们就主要以这个版本来讲解。

1.4 使用算术操作符

加号( )、减号(-)、星号(*)、正斜杠(/)、百分号(%)分别执行加、减、乘、除、取模。它们成为操作符运算符,对值进行“操作”或“运算”来生成新值。在C#中,乘法类操作符(*,/和%)的优先级高于加法类操作符( 和-)。

 

注意:

操作符并不是适合所有数据类型,可使用任何算术操作符的数据类型char,int,long,float,double或decimal。

 

小知识点:字符串插值:开头的$符号表明这是插值字符串,{和}之间的任何表达式都需求值并置换。没有前置的$符号,字符串{“world”}将按字面处理。

我们通常在连接字符串习惯在中间用 连接,比如:

string text=“hello” “world”;

 

字符串插值则允许改用以下语法:

string text=$”hello{“world”}”;

 

优点:字符串插值比 操作符高效的多。由于.NET Framework处理字符串的方式,用 来连接字符串可能消耗大量内存。字符串插值还更具可读性和减少犯错机会。

(技术无绝对,根据各人喜好用什么写法都可。)

 

null

1.null值表示一个空对象指针
2.如果定义的变量准备在将来用于保护对象,那么最好将变量初始化为null而不是其他值。
3.说明:undefined值是派生自null值的,所以undefined==null的返回结果是ture。

 

1.5 变量递增递减

递增( )和递减(--)是一元操作符,即只有一个操作数。它们具有相同的优先级和左结合性。递增和递减操作符与众不同之处在于,它们既可以放在变量前,也可以放在变量后。在变量前使用,称为这个操作符的前缀形式;在变量之后使用,则称为这个操作符的后缀形式。例如:

count ;//后缀递增

count;//前缀递增

count--;//后缀递减

--count;//前缀递减

 

count 返回递增前的count值,而 count返回递增后的count值。

 

Number

1.Number:表示整数和浮点数
2.NaN:即非数值(NaN a Number)是一个特殊的数值。
3.说明:
(1)任何涉及NaN的操作(例如NaN/10)都会返回NaN。
(2)NaN与任何值都不相等,包括NaN本身。

一.语法构成

1.6 声明隐式类型的局部变量

var myVariable=99;

var myOtherVariable=“hello”;

以上俩个变量myVariable和myOtherVariable称为隐式类型变量。var 关键字告诉编译器根据用于变量的初始化表达式判断变量类型。在以上例子中myVariable是int类型,而myOtherVariable是string类型。

 

注意:var只是在声明变量时提供一些方便。但变量一经声明,就只能编译器推断的那种类型的值赋给它。例如,不能再将float,double,string值赋给myVariable。

 

特别注意:只有提供表达式来初始化变量,才能使用关键字var。

以下声明会导致编译错误:

var test;//错误-编译器不能推断类型

·isNaN

1.语法:isNaN(n)
2.功能:检测n是否是“非数值”
3.返回值:boolean
3.参数:参数n可以是任何类型
4.说明:isNaN()在接收到一个值之后,会尝试将这个值转化为数值。某些不是数值的值会直接转化为数值。

 

数制转换

有3个函数可以把非数值转换为数值:Number()、parseFloat()、parseInt()。其中Number()可以用于任何数据类型,而parseInt()和parseFloat()则专用于把字符串转换成数值。

区分大小写

parseInt()

1.parseInt():会忽略字符串前面的空格,直到找到第一个非空格字符。
2.说明:
(1)parseInt():转换空字符串返回NaN 。
(2)parseInt()这个函数提供第二个参数:转换时使用的基数。(即多少进制)

ECMAScript 中的一切,包括变量、函数名和操作符都是区分大小写的。例如:text 和

parseFloat()

1.parseFloat():从第一个字符开始解析每个字符,直至遇见一个无效的浮点数字符为止
2.说明:除了第一个小数点有效外,parseFloat()与parseInt()的第二个区别在于它始终都会忽略前导的零。

Text 表示两种不同的变量。

String

String类型用于表示有零或多个Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。

 

toString()与String()

1.语法:str.toString()
2.功能:将str转换为字符串
3.返回值:str的一个副本
4.参数:str是要转换的内容,可以是数值、布尔值、对象和字符串。
5.说明:在不知道要转换的值是不是null或undefind的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串。

标识符

Boolean

1.用于表示真假的类型,即true表示真,false表示假。
2.类型转换
(1)除0之外的所有数字,转换为布尔型都为true
(2)除" "之外的所有字符,转换为布尔型都为true
(3)null和undefind转换为布尔型为false

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符可以是下列格

七、JavaScript操作符

式规则组合起来的一或多个字符:

表达式

1.将同类型的数据(如常量、变量、函数等)用运算符号按一定的规则连接起来的、有意义的式子称为表达式。

1.第一字符必须是一个字母、下划线(_)或一个美元符号($)。

操作符的分类

2.其他字符可以是字母、下划线、美元符号或数字。

算数操作符

,-,*,/,%
1.递增
a与a 都是对a进行递增操作
区别:
(1) a先返回递增之后的a的值
(2)a 先返回a的原值,再返回递增之后的值
2.递减同理

3.不能把关键字、保留字、true、false 和null 作为标识符。

逻辑操作符

1.&&:与
&&与(只要有一个条件不成立,返回false)
说明:再有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回值,此时它遵循下列规则:
(1)如果第一个操作数隐式类型转换后为ture,则返回第二个操作数
(2)如果第一个操作数隐式类型转换后为false,则返回如果第一个操作数
(3)如果第一个操作数是null,则返回null
(4)如果第一个操作数是NaN,则返回NaN
(5)如果第一个操作数是undefind,则返回undefind
2.||:或
||或(只要有一个条件成立,返回ture)
说明:在有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回值,此时它遵循下列规则:
(1)如果第一个操作数隐式类型转换后为ture,则返回第一个操作数
(2)如果第一个操作数隐式类型转换后为false,则返回如果第二个操作数
(3)如果两操作数是null,则返回null
(4)如果两个操作数是NaN,则返回NaN
(5)如果两个操作数是undefind,则返回undefind
3.!:非
说明:
(1)无论操作数是什么数据类型,逻辑非都会返回一个布尔值
(2)!!同时使用两个逻辑非操作符时: 第一个逻辑非操作会基于无论什么操作数返回一个布尔值,第二个逻辑非则对该布尔值求反。

例如:myName、book123 等

赋值操作符

1.简单赋值:=
2.符合赋值: =、-=、*=、/=、%=

 

比较操作符

1.>、<、>=、<=、==、===、!=、!==
2.==:相等,只比较值是否相等
3.===:相等,比较值的同时比较数据类型是否相等
4.!=:不相等,只比较值是否不相等
5.!==:不相等,比较值的同时比较数据类型是否不相等
注:返回值:boolean型

注释

三元操作符

1.语法:条件?执行代码1:执行代码2
2.说明:可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2

ECMAScript 使用C 风格的注释,包括单行注释和块级注释。

 

// Single line code comment

 

/*

* This is a 

* multi-line code comment

*/

 

直接量(字面量 literal)

 

所有直接量(字面量),就是程序中直接显示出来的数据值。

 

100 //数字字面量

'javascript' //字符串字面量

false //布尔字面量

/js/gi //正则表达式字面量

null //对象字面量

 

在ECMAScript 第3 版中,像数组字面量和对象字面量的表达式也是支持的,如下:

 

{x:1, y:2} //对象字面量表达式

[1,2,3,4,5] //数组字面量表达式

 

二.关键字和保留字

 

ECMAScript-262 描述了一组具有特定用途的关键字,一般用于控制语句的开始或结束,

或者用于执行特定的操作等。关键字也是语言保留的,不能用作标识符。

ECMAScript 全部关键字

 

break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof

 

ECMAScript-262 还描述了另一组不能用作标识符的保留字。尽管保留字在JavaScript

中还没有特定的用途,但它们很有可能在将来被用作关键字。

ECMAScript-262 第3 版定义的全部保留字

 

abstract enum int short boolean export interface static byte extends long super

char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public

 

三.变量

ECMAScript 的变量是松散类型的,所谓松散类型就是用来保存任何类型的数据。定义

变量时要使用var 操作符(var 是关键),后面跟一个变量名(变量名是标识符)。

 

var box;

alert(box);

 

这句话定义了box 变量,但没有对它进行初始化(也就是没有给变量赋值)。这时,系

统会给它一个特殊的值-- undefined(表示未定义)。

 

var box= 'javascript';

alert(box);

 

所谓变量,就是可以初始化后可以再次改变的量。ECMAScript 属于弱类型(松散类型)

的语言,可以同时改变不同类型的量。(PS:虽然可以改变不同类型的量,但这样做对于后

期维护带来困难,而且性能也不高,导致成本很高!)

 

var boxString = 'javascript';

boxString = 100;

alert(boxString);

 

重复的使用var 声明一个变量,只不过是一个赋值操作,并不会报错。但这样的操作是

没有任何必要的。

 

var box= 'javascript';

var box= 'java';

 

还有一种变量不需要前面var 关键字即可创建变量。这种变量和var 的变量有一定的区

别和作用范围,我们会在作用域那一节详细探讨。

 

box= ' javascript ';

 

当你想声明多个变量的时候,可以在一行或者多行操作。

 

var box= ' javascript ';var count= 100;

 

当你每条语句都在不同行的时候,你可以省略分号。(PS:这是ECMAScript 支持的,

但绝对是一个非常不好的编程习惯,切记不要)。

 

var box= ' javascript '

var count= 100

alert(box)

 

可以使用一条语句定义多个变量,只要把每个变量(初始化或者不初始化均可)用逗号分

隔开即可,为了可读性,每个变量,最好另起一行,并且第二变量和第一变量对齐(PS:这

些都不是必须的)。

 

var box= 'javascript',

count = 28,

height;

 

本文由澳门新萄京官方网站发布于www.8455.com,转载请注明出处:澳门新萄京官方网站:快速入门,读书笔记

关键词: