从上到下依次执行

  1. <script>
  2. alert("这是我的警告");
  3. </script>
  1. <script>
  2. doucment.write();//可以向body输出一个内容
  3. </script>
  1. <script>
  2. console.loge();//作用是向控制台输出内容
  3. </script>
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>测试</title>
  6. </head>
  7. <body>
  8. <!--可以将js写到onclick中-->
  9. <button onclick="alert('成功');">点我一下</button>
  10. <a href="javascript:alert('成功');">点我一下</a>
  11. </body>
  12. </html>

可以编写到外部文件中

  1. alert("这是我的警告");
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript" scr="xx.js"></script>
  6. <title>测试</title>
  7. </head>
  8. <body>
  9. </body>
  10. </html>

字面量和变量

字面量:都是不可变的值
变量可以用来保存字面量
在js中使用var来声明一个变量

  1. var b = 123;

标识符

所有可以自主命名的都可以称为标识符
一般采用驼峰命名法

数据类型

  • string字符串
  • number数值
  • boolean布尔值
  • null空值
  • undefined未定义
  • object对象

    字符串

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. var str = "hello";
    7. str = "我说\"天气不错\""
    8. console.log(str);
    9. </script>
    10. <title>测试</title>
    11. </head>
    12. <body>
    13. </body>
    14. </html>

    数值

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. var a = 123.123;
    7. typeof a;//检查类型
    8. console.log(typeof a);
    9. console.log(Number.MAX_VALUE);//表示的最大数值
    10. //Infinity为无穷类型为Number;
    11. //NaN为不是数值类型为Number;
    12. //如果进行浮点数计算,可能得到不精准的数;
    13. </script>
    14. <title>测试</title>
    15. </head>
    16. <body>
    17. </body>
    18. </html>

    布尔值

    “true”为字符串,true为布尔值

    检查Null时,会返回object 空值;
    当我们申明一个变量却不给它赋值那就是undefined 未定义;

    强制数据类型转换

    string

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. var a =123;
    7. a.toString();//该方法不会影响到原变量
    8. String(a);//该方法也不会影响到原变量
    9. c=c+"";//利用机制
    10. </script>
    11. <title>测试</title>
    12. </head>
    13. <body>
    14. </body>
    15. </html>

    number

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. var a ="123";
    7. Number(a);
    8. a =a-0;//利用机制 隐式转换
    9. a= +a;
    10. //纯数字的字符串,则将直接转换为数字
    11. //非法数字转换为NaN
    12. //空的字符串为0
    13. //true-》1 false-》0
    14. //Null -》0
    15. //unfidiend-》NaN
    16. var a = "123px";
    17. parseInt()//把一个字符串转换为Int
    18. parseFloat()//把一个字符串转换为Float
    19. a = parseInt(a)//将字符串中有效的整数内容取出
    20. var a ="070";
    21. a = parseInt(a,10);//进制的转换
    22. </script>
    23. <title>测试</title>
    24. </head>
    25. <body>
    26. </body>
    27. </html>

    boolean

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. var a =123;//true
    7. a = 0;//false
    8. a = Infinity;//true
    9. a = NaN;//false
    10. a = Boolean(a);
    11. //总结:NaN 0 是false
    12. //空串为false
    13. //null和undefined为false
    14. //对象也会转换为true
    15. </script>
    16. <title>测试</title>
    17. </head>
    18. <body>
    19. </body>
    20. </html>

    运算符

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. var a = 123;
    7. var result = typrof a;//typeof也是运算符
    8. console.log(result);//该方法不会影响到原变量
    9. console.log(typeof result);
    10. var a = 123;
    11. var result = typrof a;//typeof也是运算符
    12. result = a+1;
    13. result = true+1;//会自动转化
    14. console.log(result);//任何值跟NaN做运算都是NaN
    15. result = "123"+"456";//拼串
    16. result = "1"+123//先全部转换为字符串再拼串
    17. result = 1+2+"3";//33
    18. result = "1"+2+3;//123
    19. result = 100-"1"//9 除了+都会转换为num
    20. </script>
    21. <title>测试</title>
    22. </head>
    23. <body>
    24. </body>
    25. </html>

    一元运算符

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. //+正号
    7. //-负号
    8. a = true;
    9. a = -a//先转化为数字再取负
    10. </script>
    11. <title>测试</title>
    12. </head>
    13. <body>
    14. </body>
    15. </html>

    自增自减

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. var a =1;
    7. console.log(a++);
    8. a++;
    9. ++a;
    10. console.log(a++);
    11. console.log("a="+a);
    12. </script>
    13. <title>测试</title>
    14. </head>
    15. <body>
    16. </body>
    17. </html>

    逻辑运算符

    1. //字符串中使用转义字符输入Unicode编码 \u2624
    2. //网页中Unicode编码 &#编码 编码需要十进制
  • !非

  • && 与
  • || 或

对非布尔值取返 ,先转换为布尔值然后再取反 !! 取该值的布尔值

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var result = 1&&2;
  7. console.log("result="+result);
  8. var result = 1&&2;
  9. console.log("result="+result);//如果两个值都为true则返回后面的
  10. var result = 2&&0;
  11. console.log("result="+result);//0 只要有false就返回第一个值
  12. var result = 2||0;
  13. console.log("result="+result);//第一个为true返回第一值
  14. var result = ""||"你好";
  15. console.log("result="+result);//第一个为flase直接返回第二个"你好"
  16. </script>
  17. <title>测试</title>
  18. </head>
  19. <body>
  20. </body>
  21. </html>

赋值运算符

a += 5;与C相似。

关系运算符

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. console.log(1>true);//false
  7. console.log(1>=true);//true
  8. //数学关系
  9. //成立返回true
  10. //不成立返回false
  11. //任何值和NaN做比较始终为flash
  12. console.log("6">"5");//两边都是字符串,不会将其转换为数字比较flase
  13. console.log("b">"a");//比较的是编码true
  14. console.log("abc">"b");//false 一位一位地比较
  15. //在比较2个字符串的类型的数字的时候给个+比较
  16. <title>测试</title>
  17. </head>
  18. <body>
  19. </body>
  20. </html>

unicode编码

相等运算符

  • ==
  • !=
  • ===完全相同 值与类型
  • !==
    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. console.log("1" == 1); //true 会自动转换
    7. console.log(1 == true); //true
    8. console.log(null == 0); //flase 不转换
    9. console.log(null == undefiend) //true undefiend为他的衍生词
    10. console.log(NaN == NaN)//flase 与自身和其他都不相等
    11. isNaN()//用这个函数来判断
    12. console.log(null === undefiend) //flase undefiend为他的衍生词但不相同
    13. <title>测试</title>
    14. </head>
    15. <body>
    16. </body>
    17. </html>

    条件运算符

    ?::
    如果条件的表达式的求值结果是一个非布尔值, 会将其转换为布尔值然后在运算

    运算符优先级

    跟C一样
    运算优先级
    如果实在不清楚,用()来改变优先级

    代码块

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <script type="text/javascript">
    6. {
    7. console.log("1" == 1); //true 会自动转换
    8. console.log(1 == true); //true
    9. console.log(null == 0); //flase 不转换
    10. }//代码块表示一组,要执行都一起执行
    11. {
    12. console.log("1" == 1); //true 会自动转换
    13. console.log(1 == true); //true
    14. console.log(null == 0); //flase 不转换
    15. }//代码块只有分组的作用,不会隔离
    16. <title>测试</title>
    17. </head>
    18. <body>
    19. </body>
    20. </html>