一.使用方法一行内式直接在HTML标签内添加js脚本一般用于监听事件。body input typesubmit value登录 onclickjavascript:alert(登录失败);/ /body二内嵌式在HTML文档中任意位置内嵌js脚本。body script document.write(你好); //document.write()向网页输出内容 /script /body(三)外链式在HTML文档中任意位置通过src属性链接外部js脚本可以是本地文件也可以是网络URL。body script src./1_my.js /script /body二JS的输出方式body script alert(第一种通过浏览器弹出框进行输出); /script script document.write(第二种直接在网页页面中进行输出); /script script console.log(第三种通过浏览器控制台进行输出此方法最常用); /script /body三JS的变量和数据类型body script //字符串 string var strGood morning!; console.log(str - 数据类型 typeof str br); //双引号包含带单引号的字符串 string var str2This is Tom; console.log(str2 - 数据类型 typeof str2 br); //单引号包含带双引号的字符串 string var str3This is Tom; console.log(str3 - 数据类型 typeof str3 br); // 数字 number var x165.30; console.log(x1 - 数据类型 typeof x1 br); // 数字 number var x265; console.log(x2 - 数据类型 typeof x2 br); // 数字 number var y117e3; console.log(y - 数据类型 typeof y br); // 数字 number var z117e-3; console.log(z - 数据类型 typeof z br); // 布尔值 boolean var xtrue; console.log(x - 数据类型 typeof x br); // 对象 object 对象类型下的数组注意没有独立的数组类型 var personsnew Array(Tom,Jack,Kate); console.log(persons - 数据类型 typeof persons br); // 未定义类型 undefined var person1; console.log(person1 - 数据类型 typeof person1 br); // 特殊情况尽管 null 是一个表示空值的特殊关键字但 typeof null 会返回 object。 // 这是一个著名的 JavaScript 特性虽然有些令人困惑但已经存在了很长时间知道一下就行不必理会 var person2null; console.log(person2 - 数据类型 typeof person2 br); /script /body四JS的运算符body !-- 加减乘除运算符 -- script console.log(10 10); // 20 console.log(100 - 10); // 90 console.log(10 * 2); // 20 console.log(10 / 5); // 2 /script !-- 取余运算符 -- script console.log(13 % 5); // 3 /script !-- 自增自减运算符 -- !-- 自增和自减运算符有一个需要注意的地方就是放在变量之后会 先返回变量操作前的值再进行自增/自减操作放在变量之前会 先进行自增/自减操作再返回变量操作后的值。 即 后置返回变量原值再递增/递减 前置先递增/递减再返回变量操作后的值。 -- script var a 1; var b 1; console.log(a); // 2 console.log(--b); // 0 /script script var x 1; var y 1; // 放在变量后 console.log(x); // 1 即返回 x console.log(x); // 2 // 放在变量前 console.log(y); // 2 即返回 y1 /script !-- 算术赋值结合运算符 -- script // 等同于 x x y var x 2; var y 1; console.log(x y); //3 // 等同于 x x - y var x 2; var y 1; console.log(x - y); //1 // 等同于 x x * y var x 2; var y 1; console.log(x * y); //2 // 等同于 x x / y var x 2; var y 1; console.log(x / y); //2 // 等同于 x x % y var x 2; var y 1; console.log(x % y); //0 /script !-- 比较运算符 -- !-- (宽松相等) 与 (严格相等) 的核心区别 运算符‌会执行隐式类型转换后再比较值 ‌ 运算符‌不执行任何类型转换 -- script var num1 10 ; var num2 10 ; var num3 10; console.log(num1 num2); // true console.log(num1 num2); // true console.log(num1 num3); // 返回true因为字符串10会被转换为数字10 console.log(num1 num3); // 返回false因为类型不同数字 vs 字符串 /script !-- 取反运算符 以下值在布尔上下文中会被转换为false其他所有值都会被转换为true false (布尔值false本身) 0 (数字零) (空字符串) null undefined NaN (特殊的非数字值) -- script console.log(!undefined); // true undefined在布尔上下文中被视为false console.log(!null); // true null在布尔上下文中也被视为false console.log(!0); // true 数字0在布尔上下文中被视为false // NaN的意思是“Not a Number”即“非数值”或“不是一个数值” // 它用于表示一个本来要返回数值的操作数未返回数值的情况。 // NaN通常出现在数学运算中以下几种情况可能导致NaN的产生 // 除以0在进行除法运算时如果除数为0那么结果就无法定义通常会被设置为NaN。 // 非法数学运算当进行一些非法数学运算时比如对负数进行平方根运算结果也会被设置为NaN。 // 数据类型不匹配在类型转换时如果类型转换失败或者转换后的结果不是有效数值结果也会被设置为NaN。 // 数值溢出当进行数值计算时如果计算结果超出了所能表示的范围结果也会被设置为NaN。 // 缺失数据在某些数据分析任务中如果数据中存在缺失值那么在进行数据计算时结果也会被设置为NaN。 console.log(!NaN); // true console.log(!); // true console.log(!888); // false console.log(!you are my baby); // false /script !-- 【超级重点】且运算符参与“且运算”的项必须同时为真才返回真否则返回假 -- script console.log(10 20 10 5); // true console.log(10 20 10 5); // false /script !-- 【超级重点】或运算符||参与“或运算”的项有一个为真即返回真否则返回假 -- script console.log(10 20 || 10 5); // true console.log(10 20 || 10 5); // true console.log(10 20 || 10 5); // false /script /body