javascript基础:语法与html结合方式
一、基本语法:
1、与html结合方式
1、内部JS:
* 定义<script>,标签体内容就是JS代码
2、外部JS:
* 定义<script>,通过src属性引入外部的js文件
* 注意:
1、<script>可以定义在html页面的任何地方,但是定义的位置会影响执行顺序
2、<script>可以定义多个
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Document</title>
- <script>
- alert("flypig666")
- </script>
- <script src="js/a.js"></script>
- </head>
- <body>
- <input type="text">
- <!-- <script>
- alert("flypig666")
- </script> -->
- </body>
- </html>
2、注释
单行注释://注释内容
多行注释:/*注释内容*/
3、数据类型
1、原始数据类型(基本数据类型)
1、number:数字 。 整数/小数/NAN(not a number 一个不是数字的数字类型)
2、string:字符串。 字符/字符串:"abc"、"a"、'abc'(单引和双引都可以)
3、boolean:true false
4、null:一个对象为空的占位符
5、undefined:未定义。如果一个变脸没有给初始化值,则会被默认赋值为undefined
* typeof(变量名):可以得出该变量类型
1==number
1.2==number
NaN==number
abc==string
edf==string
true==boolean
null==object
undefined==undefined
undefined==undefined
- <script>
- // 定义变量
- // var a = 6;
- // alert(a);
- // a = "abc";
- // alert(a)
- //定义number类型
- var num = 1
- var num2 = 1.2
- var num3 = NaN
- // 输出到页面上
- document.write(num+"<br>")
- document.write(num2+"<br>")
- document.write(num3+"<br>")
- //定义String类型
- var str = "abc"
- var str2 = "edf"
- document.write(str + "<br>")
- document.write(str2 + "<br>")
- //定义boolean
- var flag = true;
- document.write(flag + "<br>")
- //定义null
- var obj = null
- var obj2 = undefined
- var obj3
- document.write(obj + "<br>")
- document.write(obj2 + "<br>")
- document.write(obj3 + "<br>")
- </script>
2、引用数据类型:对象
4、变量
* 变量:一小块存储数据的内存空间
* Java语言是强类型语言,而javascript是弱类型语言
* 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型,只能存储固定类型的数据
* 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据
* 语法:
* var 变量名 = 初始化值
* typeof运算符:获取变量的类型
* 注:null运算后得到的是object
5、运算符
1、一元运算符:只有一个运算数的运算符
++ --, +(正号)
- <script>
- /*
- 注意:在js中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
- * 其他类型转number:
- * string转number:按照字面值进行转换,如果字面值不是数字,则转为NaN(不是数字的数字)
- * boolean转number:true转为1,false转为0
- */
- var num = 4
- var a = ++num
- document.write(num + "<br>")
- document.write(a)
- document.write("<hr>")
- var b = +"123abc"
- // alert(typeof(b))
- // alert(b + 1)
- document.write(typeof(b))
- document.write(b + 1)
- document.write("<hr>")
- var flag = +true
- var flag2 = +false
- document.write(typeof (flag) + "<br>")
- document.write(flag + "<br>")
- document.write(flag2 + "<br>")
- </script>
2、 算法运算符
+ - * / %
3、赋值运算符
= += -+ 。。。
4、比较运算符
> < >= <= == ===(全等于)
- <script>
- /**
- * 比较运算符:
- * 比较方式
- * 1、类型相同:直接比较
- * * 字符串:按照字典顺序进行比较。按位逐一比较,直到得出大小为止
- * 2、类型不同:先进行类型转换,再进行比较
- * * ===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
- *
- */
- document.write(3 > 4 + "<br>")
- document.write("dbc" > "acd" + "<br>")
- document.write(("123" == 123) + "<br>")
- // 全等
- document.write(("123" === 123) + "<br>")
- </script>
5、逻辑运算符
&& || !
- <script>
- /**
- * 逻辑运算符:
- * &&:与(短路)一边为false则为false
- * ||:或(短路)一边为true则为true
- * !:非
- * * 其他类型转boolean:
- * 1、number:0或NaN为假,其他为真
- * 2、string:除了空字符串(""),其他都是true
- * 3、null&undefined:都是false
- * 4、对象:所有对象都为true
- *
- */
- var flag = true
- document.write(flag + "<br>")
- document.write(!flag + "<br>")
- document.write("<hr>")
- //1、number
- var num = 3
- var num2 = 0
- var num3 = NaN
- document.write(!!num + "<br>")
- document.write(!!num2 + "<br>")
- document.write(!!num3 + "<br>")
- document.write("<hr>")
- //2、string
- var str1 = "abc"
- var str2 = ""
- document.write(!!str1 + "<br>")
- document.write(!!str2 + "<br>")
- document.write("<hr>")
- //3、null & undefined
- var obj = null
- var obj2
- document.write(!!obj + "<br>")
- document.write(!!obj2 + "<br>")
- document.write("<hr>")
- //4、对象
- var date = new Date
- document.write(!!date + "<br>")
- document.write("<hr>")
- var obj = "123"
- if(obj != null && obj.length > 0){
- //防止空指针异常
- alert(123)
- }
- //js中可以这样定义来简化书写
- if(obj){
- //防止空指针异常
- alert(11)
- }
- </script>
6、三元运算符
? :
- <script>
- var a = 3
- var b = 4
- var c = a > b ? 1: 0
- alert(c)
- </script>
6、流程控制语句
1、if.....else.....
2、switch
* 在java中,switch语句可以接受的数据类型:byte int short char,枚举(1.5),String(1.7)
* switch(变量):
case 值:
* 在javascript中,switch语句可以接受任意原始数据类型
- <script>
- var a = undefined;
- switch (a){
- case 1:
- alert("number");
- break;
- case "abc":
- alert("string");
- break;
- case true:
- alert("true");
- break;
- case null:
- alert("null");
- break;
- case undefined:
- alert("undefined");
- break;
- }
- </script>
3、while
4、do.....while
5、for
7、js特殊语法:
- <script>
- //1、 语句以分号;结尾,如果一行只有一条语句则 ;可以省略(不建议)
- var a = 3
- alert(a)
- /*
- 2、变量的定义使用var关键字,也可以不使用
- * 用var:定义的变量是局部变量
- * 不用var: 定义的变量是全局变量
- */
- // 定义全局变量
- var b
- // alert(b)
- function fun(){
- b = 6
- alert(b)
- }
- fun()
- alert("只是b:" + b)
- </script>
8、对象
* Function对象:函数对象
- //1.创建方式1
- var fun1 = new Function("a","b","c","alert(a);")
- //调用方法
- //fun1(3,4)
- //alert(fun1.length)
- //2、创建方式2
- function fun2(a, b){
- alert(a + b);
- }
- //fun2(3,4)
- //alert(fun2.length)
- //3、创建方式3
- var fun3 = function(a,b){
- alert(a+b)
- }
- //fun3(3,4)
- //alert(fun3.length)
- fun2 = function(a,b){
- //alert(a-b)
- alert(a)
- }
- //fun2(4,1)
- //方法调用
- //fun2(1,2)
- //fun2(3)
- /*
- 求两个数的和
- */
- function add(a, b){
- return a + b;
- }
- var sum = add(1,2)
- //alert(sum)
- //求任意个数的和
- function add2(){
- // alert(arguments[0]);
- // alert(arguments[1]);
- // alert(arguments[2]);
- var sum = 0;
- for(var i = 0; i < arguments.length; i++){
- sum += arguments[i];
- }
- alert(sum)
- }
- add2(1,2,4,5)
* Array
- // 1、创建方式1
- var arr1 = new Array(1,2,4);
- var arr2 = new Array(5);
- var arr3 = [1,23,4];
- var arr4 = new Array()
- document.write(arr1 + "<br>")
- document.write(arr2 + "<br>")
- document.write(arr3 + "<br>")
- document.write(arr4 + "<br>")
- var arr = [1,"abc",true];
- document.write(arr[0] + "<br>")
- document.write(arr[1] + "<br>")
- document.write(arr[2] + "<br>")
- arr[10] = "hehe"
- document.write(arr[10] + "<br>")
- document.write(arr[9] + "<br>")
- alert(arr.length)
- //拼接为字符串
- //1、join("")
- document.write(arr.join("===")+"<br>")
- //2、push()
- arr.push(666)
- document.write(arr.join("==")+"<br>")
* Boolean
* Date
- /*
- Date: 日期对象
- 1、创建:
- var date = new Date()
- 2、方法:
- toLocalString():返回当前date对象对应的时间本地字符串格式
- getTime(): 获取毫秒值,返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差
- */
- var date = new Date();
- document.write(date + "<br>")
- document.write(date.toLocaleString() + "<br>")
- document.write(date.getTime() + "<br>")
* Math
- /**
- * Math: 数学
- * 1、创建
- * * 特点:Math对象不用创建,直接使用 Math.方法名()
- * 2、方法:
- * random(): 返回0-1之间的一个随机数(含0不含1)
- * ceil(x) 对数进行上舍入
- * floor(x) 对数进行下舍入
- * round(x) 把数四舍五入为最接近的整数
- * 3、属性:
- * PI
- *
- */
- document.write(Math.PI + "<br>");
- document.write(Math.random() + "<br>");
- document.write(Math.ceil(3.14) + "<br>");
- document.write(Math.floor(3.14) + "<br>");
- document.write(Math.round(3.14) + "<br>");
- /**
- * 去1-100之间的随机整数
- * 1、Math.random()产生随机数: 范围(0,1]小数
- * 2、乘以 100 --> [0,99.9999] 小数
- * 3、舍弃小数部分 floor ---> [0,99]整数
- * 4、 +1 -->[0,99]整数 [1,100]
- *
- */
- var number = Math.floor((Math.random() * 100)) + 1;
- document.write(number);
* Number
* String
* RegExp
1、正则表达式:定义字符串的组成规则
1、单个字符:[ ]
如: 【a】【ab】 【a-z】【0-9】
* 特殊符号代表特殊含义的单个字符:
\d: 单个数字字符 [0-9]
\w: 单个单词字符 [a-z A-Z 0-9_]
2、量词符号:
* :表示出现0次或多次
?:表示出现0次或1次
+:出现一次或多次
{m,n}:表示范围在m-n之间
* m如果缺省:{,n}:最多n次
* n如果缺省:{m,}:最少m次
3、开始结束符号
* ^:开始
* $:结束
2、正则对象:
1、创建
1、var reg = new RegExp("正则表达式")
2、var reg = /正则表达式/
2、方法
test(参数):验证指定的字符串是否符合正则定义的规范
- <script>
- var reg = new RegExp("^\\w{6,12}");
- var reg2 = /^\w{6,12}$/;
- var username = "flypig"
- //验证
- var flag = reg.test(username)
- alert(flag)
- </script>
* Global:
1、特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名()
2、方法:
encodeURI():url编码
decodeURI():url解码
encodeURIComponent():url编码(编码的字符更多)
decodeURIComponent():url解码
parseInt():将字符串转为数字
* 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否为NaN-------------NaN参与的==比较全部为false
eval():将 Javascript 字符串,并把它作为脚本代码进行执行
- <script>
- var str = "大飞猪"
- var encode = encodeURI(str);
- document.write(encode + "<br>")
- var s = decodeURI(encode)
- document.write(s + "<br>")
- var str = "123c1e"
- var number = parseInt(str)
- //alert(number + 1)
- var a = "abc"
- document.write(a == NaN)
- document.write(isNaN(a))
- var jscode = "alert(123)"
- eval(jscode)
- </script>
javascript基础:语法与html结合方式的更多相关文章
- javascript基础语法——表达式
× 目录 [1]原始表达式 [2]复杂表达式 前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascr ...
- javascript基础语法——词法结构
× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...
- Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制
Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1 ...
- javascript基础语法备忘录-变量和数据类型
//javascript基础语法备忘录-变量和数据类型 // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名 var message = "hi&qu ...
- JavaScript基础语法资料
JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...
- Nice!JavaScript基础语法知识都在这儿了
好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star 转载请注明出处! 链接:https://blog.csdn ...
- JavaScript 基础语法
1 谈谈 JavaScript JavaScript,通常会简称为'JS', 是一种浏览器脚本语言 1.1 JavaScript 编程语言特点 JavaScript是一种脚本编程语言 JavaScri ...
- javaScript基础语法(上)
相关理论概念: 直接量的概念:直接描述某个(些)存储空间的值的量,如变量的值.对象的值.数组的值. 数据类型:在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作. 1.变量的声明和使用 变 ...
- JavaScript基础语法
首先,JavaScript的基本语法是以名为ECMAScript的伪语言定义的,理解ECMAScript的细节就是理解它在浏览器中实现的关键,目前大多数浏览器都遵循了ECMAScript第3版的,但是 ...
- 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天
1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...
随机推荐
- eclipse 克隆 https 地址的 Git 仓库报错:cannot open git-upload-pack
解决方法:Window >Preferences >Team>Git>User settings点击Add Entry设置key:http.sslVerify value:fa ...
- ubuntu解压/压缩rar文件
一般通过默认安装的ubuntu是不能解压rar文件的,只有在安装了rar解压工具之后,才可以解压.其实在ubuntu下安装rar解压工具是非常简单的,只需要两个步骤就可以迅速搞定.ubuntu 下ra ...
- 安卓中 使用html来使文字变色Html.fromHtml
在这里 我是用的html使文字的个别颜色变红 String textStr = " 本课程为<font color=\"#FF0000\">" + ...
- thinkphp 子查询
从3.0版本开始新增了子查询支持,有两种使用方式: 大理石平台检验标准 1.使用select方法 当select方法的参数为false的时候,表示不进行查询只是返回构建SQL,例如: // 首先构造子 ...
- E. Present for Vitalik the Philatelist 反演+容斥
题意:给n个数\(a_i\),求选一个数x和一个集合S不重合,gcd(S)!=1,gcd(S,x)==1的方案数. 题解:\(ans=\sum_{i=2}^nf_ig_i\),\(f_i\)是数组中和 ...
- SPOJ 1043 GSS1 - Can you answer these queries I
题目描述 给出了序列A[1],A[2],-,A[N]. (a[i]≤15007,1≤N≤50000).查询定义如下: 查询(x,y)=max{a[i]+a[i+1]+-+a[j]:x≤i≤j≤y}. ...
- Centos--swoole平滑重启服务
平滑重启: 已经打开的服务: 首先在server服务中为进程添加名字: /** * @param $server */ public function onStart($server) { swool ...
- Audio 标签的使用和自己封装一个强大的React音乐播放器
原文地址:https://www.dodoblog.cn/blog?id=5be84d5c70b2b617f27a4610 这篇文章主要介绍一下博客里的这个音乐播放器是怎么写的 为了更好的表达高深的东 ...
- SpringBoot使用注解方式整合Redis
1.首先导入使用Maven导入jar包 <dependency> <groupId>org.springframework.boot</groupId> <a ...
- window API GetProcessId OpenProcess
函数原型: DWORD WINAPI GetProcessId( _In_ HANDLE Process ); HANDLE OpenProcess( DWORD dwDesiredAccess, / ...