js学习笔记-引用类型

1:引用类型很类似与面向对象中的类,引用类型的实例就类似于面向对象中的对象,但是实现方法不同。
2:Object类型是其他应用类型的“基类“,所有的应用类型都继承了其基本的属性和方法。例如:constructor,prototype;toString(),valueOf();
3:Array类型是一组值的有序列表,同时还提供了操作和转换这些值的方法。
4:Date类型提供了日期和时间的操作
5:RegExp类型提供正则表达式的相关操作
6:Function类型,每个函数都是function类型的实例,其也有属性和方法。
7:3种基本包装类型(特殊的引用类型),是string,boolean,number三种基本类型的抽象。在操作三种基本类型时,实质创建了该包装类型的对象,是对该对象进行操作。
8:单体内置对象,global和math,不依赖于宿主环境。在代码执行之前,就已经存在。global,在浏览器中以windows对象承担,所有全局变量和函数都是global对象。
Array( http://www.w3school.com.cn/jsref/jsref_obj_array.asp
1:join(),以某个符号隔开数组元素。
tip: var a = ['a','b','c'];
        alert(a.join('#'));    //输出为:a#b#c#
2:slice(a,b),得到数组中的某个元素和某些元素。第二个参数可选
    tip:var a = ['a','b','c','d'];
            alert(a.slice(1));    //输出为:b
            alert(a.slice(1,3));    //输出:b,c.包前不包后
3:splice(a,b,c,d);a,b必须,c,d可选。向数组中增加或者删除元素
    tip:var a = ['a','b','c','d'];
            alert(a.splice(1,1));//从第二个元素开始删除一个元素,输出a,c,d
            alert(a.splice(1,1,'e'));//删除一个元素,并增加一个元素。输出为a,d,e
Boolean( http://www.w3school.com.cn/jsref/jsref_obj_boolean.asp
1:使用new Boolean创建出来的是一个boolean对象,它的类型是object。
        var falseObject = new Boolean(false);
        var result = falseObject && true;
        alert('1'+result);  //true
        alert('2'+falseObject);//false
        alert('3'+falseObject.toString());//false
String( http://www.w3school.com.cn/jsref/jsref_obj_string.asp

    tip       
        var numberObject = new Number(10);
        var numberValue = 99;
        //使用toString,进制表示
        alert(numberObject.toString());       //"10"
        alert(numberObject.toString(2));      //"1010"
        alert(numberObject.toString(8));      //"12"
        alert(numberObject.toString(10));     //"10"
        alert(numberObject.toString(16));     //"a"
       
        //指定小数位数
        alert(numberObject.toFixed(2));    //outputs "10.00"
        //接受一个参数,表示数值的所有数字的位数
        numberObject = new Number(99);
        alert(numberObject.toPrecision(1));    //"1e+2"
        alert(numberObject.toPrecision(2));    //"99"
        alert(numberObject.toPrecision(3));    //"99.0"
           
        alert(typeof numberObject);   //object
        alert(typeof numberValue);    //number
        alert(numberObject instanceof Number);  //true
        alert(numberValue instanceof Number);   //false
1:ECMAScript 5中有新的api 获取当前的时间,Date.now();输出的是当前的时间戳
    new Date();获取的是当前的日期和时间,被格式化(建议使用)。
2:使用new Date();接受两种类型的参数,Date.parse();Date.UTC()。等效于,new Date(year,month,day,min,s,ms),其中day,min,s,ms可省略
3:继承的方法,toString();toLocalString();不同的浏览器实现会不同
        //2000年1月1日,0时0分0秒
        var y2k = new Date(2000, 0);
        alert(y2k.toString());
        alert(y2k.toLocaleString());
        //2005年4月5日,17时55分55秒
        var allFives = new Date(2005, 4, 5, 17, 55, 55);
        alert(allFives.toString());
        alert(allFives.toLocaleString());
Function
1:函数名作为参数
    function callSomeFunction(thefunction, para){
            thefunction(para);    
    }
    function add(para){
            return (para + 10);
    }
    alert(callSomeFunction(add,10));//输出20

2:函数声明和函数表达式;
    函数声明://声明位置无要求                            函数表达式://声明必须在调用前
    function fun(a){                                               var fun = function(a){
        return (a + 10);                                                    return (a + 10);
    }                                                                         };

3:作为返回值;
    function compare(){
        return function(a,b){
            if(a>b){
                return 1;
            }else if(a<b){
                return -1;
            }else{
                return 0;
            }
        }
    }
    var a = [4,6,8,21,7,6,3,4,1];
    a.sort(compare());
    alert(a);                //输出1,3,4,4,6,6,8,21

4:apply方法:在当前特定的作用域下调用“父类”的方法(函数);
    function add(a,b){
        return (a+b);
    }
    function test(){
        return add.apply(this,arguments);
    }
    alert(test(10,10));    //输出20

5:arguments,callee,caller: 在函数内部,arguments.callee该属性是一个指针,指向拥有这个arguments对象的函数。 caller,这个属性保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为null。
    function  inner (){  
         alert ( arguments . callee ); //指向拥有这个arguments对象的函数,即inner()  
         alert ( arguments . callee . caller ); //这个属性保存着调用当前函数的函数的引用,即outer()   }  
    function  outer (){  
         inner ();
        alert(arguments.callee.caller);//null 
    }  
    outer ();

6:bind();将函数的this值绑定到bind参数中
    var color = "black";
    function getColor(){
        alert(this.color);
    }
    var test = {color:"white"};
    alert(getColor.bind(test));// 输出:white

7:length:函数参数的个数

Global
global:可以直接使用的方法和属性
1:encodeURI,用于整个URI。对应的解码,decodeURI();
    encodeURIComponent,用于编码查询字符串。对应的解码,decodeURIComponent();
       tip:    
        var uri = "http://www.wrox.com/illegal value.htm#start";           
        //"http://www.wrox.com/illegal%20value.htm#start",空格被编码
         alert(encodeURI(uri));
        //"http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start",大部分字符都被编码
        alert(encodeURIComponent(uri));
2:Windows对象:在全局作用域中声明的所有变量和函数,都是Windows对象的属性

3:其他,eval(),ECMAScript解析器。global对象中其他的属性

Math
对数学的相关操作( www.w3school.com.cn/jsref/jsref_obj_math.asp

下载方式:https://pan.quark.cn/s/26794c3ef0f7 本文阐述了在Django框架中如何适当地展示HTML内容的方法。 在Web应用程序的开发过程中,常常需要向用户展示HTML格式的数据。 然而,在Django的模板系统中,为了防御跨站脚本攻击(XSS),系统会默认对HTML中的特殊字符进行转义处理。 这意味着,如果直接在模板代码中插入包含HTML标签的字符串,Django会自动将其转化为文本形式,而不是渲染为真正的HTML组件。 为了解决这个问题,首先必须熟悉Django模板引擎的安全特性。 Django为了防止不良用户借助HTML标签注入有害脚本,会自动对模板中输出的变量实施转义措施。 具体而言,模板引擎会将特殊符号(例如`<`、`>`、`&`等)转变为对应的HTML实体,因此,在浏览器中呈现的将是纯文本而非可执行的代码。 尽管如此,在某些特定情形下,我们确实需要在页面上呈现真实的HTML内容,这就需要借助特定的模板标签或过滤器来调控转义行为。 在提供的示例中,开发者期望输出的字符串`<h1>helloworld</h1>`能被正确地作为HTML元素展示在页面上,而不是被转义为文本`<h1>helloworld</h1>`。 为实现这一目标,作者提出了两种解决方案:1. 应用Django的`safe`过滤器。 当确认输出的内容是安全的且不会引发XSS攻击时,可以在模板中这样使用变量:```django<p>{{ data|safe }}</p>```通过这种方式,Django将不会对`data`变量的值进行HTML转义,而是直接将其当作HTML输出。 2. 使用`autoescape`标签。 在模板中,可以通过`autoesc...
已经博主授权,源码转载自 https://pan.quark.cn/s/1d1f47134a16 Numerical Linear Algebra Visual Studio C++实现数值线性代数经典算法。 参考教材:《数值线性代数(第2版)》——徐树方、高立、张平文 【代码结构】 程序包含两个主要文件 和 。 中实现矩阵类(支持各种基本运算、矩阵转置、LU 分解、 Cholesky 分解、QR分解、上Hessenberg化、双重步位移QR迭代、二对角化),基本方程组求解方法(上三角、下三角、Guass、全主元Guass、列主元Guass、Cholesky、Cholesky改进),范数计算方法(1范数、无穷范数),方程组古典迭代解法(Jacobi、G-S、JOR),实用共轭梯度法,幂法求模最大根,隐式QR算法,过关Jacobi法,二分法求第K大特征值,反幂法,SVD迭代。 中构建矩阵并求解。 【线性方程组直接解法】 不选主元、全主元、列主元三种Guass消去法,Cholesky分解及其改进版。 【report】 【方程组解误差分析】 矩阵范数计算、方程求解误差分析。 【report】 【最小二乘】 QR分解算法求解线性方程组、最小二乘问题。 【report】 【线性方程组古典迭代解法】 Jacobi迭代法、G-S迭代法、SOR迭代法求解方程组。 【report】 【共轭梯度法】 实用共轭梯度法。 【report】 【非对称特征值】 幂法求模特征根、QR方法(上Hessenberg分解、双重步位移QR迭代、隐式QR法) 【report】 【对称特征值】 过关Jacobi法、二分法、反幂法。 【report】 【对称特征值】 矩阵二对角化、SVD迭代。 【report】
【EI复现】基于阶梯碳交易的含P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度(Matlab代码实现)内容概要:本文介绍了一项基于阶梯碳交易机制的虚拟电厂优化调度研究,重点整合了P2G-CCS(电转气-碳捕集与封存)耦合技术和燃气掺氢技术,旨在提升虚拟电厂在低碳环境下的调度效率与能源利用率。研究通过构建相应的数学模型,并采用Matlab进行代码实现与仿真分析,综合考虑电力、天然气与氢能系统的协同运行,优化系统运行成本与碳排放水平。该资源属于EI期刊复现内容,具备较强的学术参考价值和技术实现细节。; 适合人群:具备一定电力系统、能源系统背景知识,熟悉Matlab编程,从事新能源、综合能源系统、优化调度等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于复现EI级别论文中的虚拟电厂优化调度模型;②学习阶梯碳交易机制在能源系统中的建模方法;③掌握P2G-CCS与燃气掺氢技术在综合能源系统中的集成与优化应用;④开展碳减排与能源高效利用相关的科研项目或课程设计。; 阅读建议:建议读者结合Matlab代码与文档内容同步学习,重点关注模型构建思路、约束条件设定及优化求解过程,可借助YALMIP等工具包进行算法调试与结果验证,建议拓展研究不同碳交易机制对系统经济性与环保性的影响。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值