语法-基础

语法基础
1,标识符:第一个字符必须是字母,函数,_,$;剩下的其他字符可以是字母,下划线,美元符号,或数字,驼峰命名,
关键字,保留字,true,false,null不能作为标识符
2,注释://单行 /多行注释/

3,严格模式:“user strict” ,在顶部添加代码就好
     例:function fun (){
     		“use strict”
      //函数体}

4,script元素:1)async:立即开始下载脚本,不能阻止其它页面动作。只对外部脚本文件有效。异步执行脚本。
2)charset:使用src属性指定的代码字符集,很少用,大多数浏览器不在乎他的值。
3)crossorigin:配置相关请求的CORS(跨源资源共享)设置。
4)defer:表示脚本可延迟到文档完全解析和显示后执行。
5)integrity:允许比对接收到的资源和指定的加密签名以验证子资源完整性。{如果接收内容和制定签名不匹配,页面报错,脚本不执行}
6)language:废弃大多数浏览器都会忽略这个属性,应该不再使用。
7)src:包含要执行代码的外部文件。
8)type:代替language这个值始终都是“text/javascript”,不过给这个值可能会导致脚本被忽略。
5,script标签都仿造head内,将css和js集中放到一起。
6,script元素上设置defer属性,会延迟执行,相当于告诉浏览器立即下载,但是要延迟执行。
语句末尾加分号,防止代码压缩,因为省略造成问题,提升性能

7,变量:var:变量提升,函数作用域,变量会成为window对象的属性,
let:不能变量提升,块状作用域,不能重复声明,暂时性死区
const:声明变量的同时赋初始值,不允许重复声明,块状作用域
8,数据类型:1)、undefind;boolean;string;number;object;function;symbol

2)、大数相加:<script>
    let a = '213213231232132132132';
    let b = '98989098999989893434389090';
    function add(a,b){
        // 取两个数的最大长度
        let maxLength = Math.max(a.length,b.length);
        //用0去补齐长度
        a = a.padStart(maxLength,0);
        b = b.padStart(maxLength,0);
        // 定义假发过程中需要用到的变量
        let t=0;
        let f=0;//进位
        let sum = '';
        for(let i=maxLength-1;i>=0;i--){
            t=parseInt(a[i])+parseInt(b[i])+f;
            f=Math.floor(t/10);
            sum = t%10+sum;
        }
        if(f==1){
            sum = '1' +sum;
        }
        return sum
    }
</script>
 3)、小数相加:<script>
function add(num1,num2){
   let len1 = (num1+'').split('.')[1].length;
   let len2 = (num2+'').split('.')[1].length;
   let maxlen = Math.max(len1,len2);
   let a = Math.pow(10,maxlen);
   return (num1*a+num2*a)/a;
}
</script>

9,undefined类型:声明后未设置初始值自动赋予该值

10,null类型:只有一个值null,表示一个空对象指针,typeof(null)==object;
11,,boolean:布尔型,true/false
12,number类型:十进制,0+数字=8进制,0x+数字=16进制;{parseInt();转为int整形
parseFloat();转为double浮点型}
Number.MIN_VALUE=5e-324
Number.MAX_VALUE=1.7976931448623157e+308
//参考上文小数相加
let floatNum1=3.125e7 //31250000
let floatNum2=3e-5 //0.00003
小数相加0.1+0.2!=0.3,有微小舍入错误

13,NaN:特殊数值,Not a Number {isNaN()//判断是否是NaN}

14,String:‘’单引号,“”双引号,
ECMAScript中字符串是不可变的;修改某个字符串的值要先销毁以前的字符串,重新赋值新的字符串
console.log(first.toString());
将一个值转为字符串。
null和undefined没有字符串方法
toString()方法可以通过传入参数控制得到数值的进制,默认是10进制
模板自变量:``反引号 可以通过${}在js中字符串拼接动态数据
1)str.length;str.chartAt();打印第几个字符 str.charCodeAt();打印第几个字符的字符编码,转16进制
15,语句 :if-else do-while while for循环 for-in for-of forEach 标签语句
break和continue:break是立即退出循环;continue是立即退出当前循环,在循环顶部继续循环
with语句: let qs = location.search.substring(1);
let hostName = location.hostName;
let url = location.href;
使用with语句可以让每个变量被认为是一个局部变量
没找到局部变量会优先搜索with()里面的
with(location){
let qs = search.substring(1);
let hostName = hostName;
let url = href;
}
with语句在严格模式下不允许使用
switch语句:为避免不必要判断,最好在每个条件后面加上break,有需要匹配多个条件,加上注释说明
16,String
有下列的一些方法:
继承的方法:
- valueOf
toLocaleString
toString
字符方法:
- charAt
charCodeAt
String.fromCharCode, 此为静态方法. 与charCodeAt功能相反
字符串操作方法:
- concat
slice
substr
substring
localeCompare, 略
字符串位置方法:
- indexOf
lastIndexOf
去除空格:
- trim, 返回副本
格式:
- toLocaleUpperCase
toLocaleLowerCase
toUpperCase
toLowerCase
字符串模式匹配方法:
- match, text.match(pattern)作用和pattern.exec(text) 相同
search
replace, 常用语替换HTML字符串模板, 转义HTML符号
split, 转数组
- trim();删除前后的空格 repeat();复制字符串
string.match(value);查找一个字符串包含目标字符串多少次;字符串模式匹配
str.localCompare(value);两个字符串相同,返回值为0,按照字母表排序,参数字符串在前面返回1,在后民返回-1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值