A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_URI::$config is deprecated

Filename: core/URI.php

Line Number: 101

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Router::$uri is deprecated

Filename: core/Router.php

Line Number: 127

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$benchmark is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$hooks is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$config is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$log is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$utf8 is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$uri is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$exceptions is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$router is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$output is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$security is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$input is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$lang is deprecated

Filename: core/Controller.php

Line Number: 82

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$db is deprecated

Filename: core/Loader.php

Line Number: 396

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_DB_mysqli_driver::$failover is deprecated

Filename: database/DB_driver.php

Line Number: 371

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Trying to access array offset on true

Filename: libraries/Email.php

Line Number: 978

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$email is deprecated

Filename: core/Loader.php

Line Number: 1283

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 295

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 169

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 238

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 318

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 359

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Session cookie parameters cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 289

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Session cannot be started after headers have already been sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$session is deprecated

Filename: core/Loader.php

Line Number: 1283

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property Blogs::$user_model is deprecated

Filename: core/Loader.php

Line Number: 358

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/User.php
Line: 7
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 8
Function: __construct

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$load is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$pgmodule is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$benchmark is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$hooks is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$config is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$log is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$utf8 is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$uri is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$exceptions is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$router is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$output is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$security is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$input is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$lang is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$db is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$email is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$session is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$user_model is deprecated

Filename: core/Loader.php

Line Number: 931

Backtrace:

File: /home1/biognosy/skmlhometuitions.in/application/controllers/Blogs.php
Line: 234
Function: view

File: /home1/biognosy/skmlhometuitions.in/index.php
Line: 315
Function: require_once

Functions in Java script | Post Details - SKML Home Tuitions
Functions in Java script
Oct 08, 2020 15:15 0 Comments DotNet LALITHA VADIGONDA

Quite often we need to perform a similar action in many places of the script.

For example, we need to show a nice-looking message when a visitor logs in, logs out and maybe somewhere else.

Functions are the main “building blocks” of the program. They allow the code to be called many times without repetition.

Already JavaScript has some built-in functions, like alert(message), prompt(message, default) and confirm(question). But we can create functions of our own as well.

Function Declaration

To create a function, we can use a function declaration.

It looks like this:

function showMessage() {

  alert( 'Hello everyone!' );

}

The function keyword goes first, then goes the name of the function, then a list of parameters between the parentheses (comma-separated, empty in the example above) and finally the code of the function, also named “the function body”, between curly braces.

function name(parameters) {

  ...body...

}

Our new function can be called by its name: showMessage().

For instance:

function showMessage() {

  alert( 'Hello everyone!' );

}

showMessage();

showMessage();

The call showMessage() executes the code of the function. Here we will see the message two times.

This example clearly demonstrates one of the main purposes of functions: to avoid code duplication.

If we ever need to change the message or the way it is shown, it’s enough to modify the code in one place: the function which outputs it.

Local variables

A variable declared inside a function is only visible inside that function.

For example:

function showMessage() {

  let message = "Hello, I'm JavaScript!"; // local variable

  alert( message );

}

showMessage(); // Hello, I'm JavaScript!

alert( message ); // <-- Error! The variable is local to the function

Outer variables

A function can access an outer variable as well, for example:

let userName = 'John';

function showMessage() {

  let message = 'Hello, ' + userName;

  alert(message);

}

showMessage(); // Hello, John

The function has full access to the outer variable. It can modify it as well.

For instance:

let userName = 'John';

function showMessage() {

  userName = "Bob"; // (1) changed the outer variable

 

  let message = 'Hello, ' + userName;

  alert(message);

}

alert( userName ); // John before the function call

showMessage();

alert( userName ); // Bob, the value was modified by the function

The outer variable is only used if there’s no local one.

If a same-named variable is declared inside the function, then it shadows the outer one. For instance, in the code below the function uses the local userName. The outer one is ignored:

let userName = 'John';

function showMessage() {

  let userName = "Bob"; // declare a local variable

  let message = 'Hello, ' + userName; // Bob

  alert(message);

}

// the function will create and use its own userName

showMessage();

alert( userName ); // John, unchanged, the function did not access the outer variable

 

Global variables

Variables declared outside of any function, such as the outer userName in the code above, are called global.

Global variables are visible from any function (unless shadowed by locals).

It’s a good practice to minimize the use of global variables. Modern code has few or no global variables. Most variables reside in their functions. Sometimes though, they can be useful to store project-level data.

Parameters

We can pass arbitrary data to functions using parameters (also called function arguments) .

In the example below, the function has two parameters: from and text.

function showMessage(from, text) { // arguments: from, text

  alert(from + ': ' + text);

}

showMessage('Ann', 'Hello!'); // Ann: Hello! (*)

showMessage('Ann', "What's up?"); // Ann: What's up? (**)

When the function is called in lines (*) and (**), the given values are copied to local variables from and text. Then the function uses them.

Here’s one more example: we have a variable from and pass it to the function. Please note: the function changes from, but the change is not seen outside, because a function always gets a copy of the value:

function showMessage(from, text) {

  from = '*' + from + '*'; // make "from" look nicer

  alert( from + ': ' + text );

}

let from = "Ann";

showMessage(from, "Hello"); // *Ann*: Hello

// the value of "from" is the same, the function modified a local copy

alert( from ); // Ann

Default values

If a parameter is not provided, then its value becomes undefined.

For instance, the aforementioned function showMessage(from, text) can be called with a single argument:

showMessage("Ann");

That’s not an error. Such a call would output "*Ann*: undefined". There’s no text, so it’s assumed that text === undefined.

If we want to use a “default” text in this case, then we can specify it after =:

function showMessage(from, text = "no text given") {

  alert( from + ": " + text );

}

showMessage("Ann"); // Ann: no text given

Now if the text parameter is not passed, it will get the value "no text given"

Here "no text given" is a string, but it can be a more complex expression, which is only evaluated and assigned if the parameter is missing. So, this is also possible:

function showMessage(from, text = anotherFunction()) {

  // anotherFunction() only executed if no text given

  // its result becomes the value of text

}

Evaluation of default parameters

In JavaScript, a default parameter is evaluated every time the function is called without the respective parameter.

In the example above, anotherFunction() is called every time showMessage() is called without the text parameter.

Alternative default parameters

Sometimes it makes sense to set default values for parameters not in the function declaration, but at a later stage, during its execution.

To check for an omitted parameter, we can compare it with undefined:

function showMessage(text) {

  if (text === undefined) {

    text = 'empty message';

  }

  alert(text);

}

showMessage(); // empty message

…Or we could use the || operator:

// if text parameter is omitted or "" is passed, set it to 'empty'

function showMessage(text) {

  text = text || 'empty';

  ...

}

Modern JavaScript engines support the null coalescing operator ??, it’s better when falsy values, such as 0, are considered regular:

// if there's no "count" parameter, show "unknown"

function showCount(count) {

  alert(count ?? "unknown");

}

showCount(0); // 0

showCount(null); // unknown

showCount(); // unknown

 

Prev Next
Topic Replies (0)
Leave a Reply
Guest User

You might also like

Not sure whare to join tuition right for you?

Choose the right one for you.
Get the help of the experts and find a solution that best suits your needs.


Let`s Connect